@servicetitan/startup 36.3.0-far-1776.2 → 36.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/_run.js +19 -8
- package/dist/cli/commands/mfe-check.d.ts.map +1 -1
- package/dist/cli/commands/mfe-check.js +1 -5
- package/dist/cli/commands/mfe-check.js.map +1 -1
- package/dist/utils/find-up.js +4 -4
- package/dist/utils/find-up.js.map +1 -1
- package/dist/utils/get-jest-config.js +1 -1
- package/dist/utils/get-jest-config.js.map +1 -1
- package/dist/utils/get-package-data.d.ts +1 -0
- package/dist/utils/get-package-data.d.ts.map +1 -1
- package/dist/utils/get-package-data.js +22 -3
- package/dist/utils/get-package-data.js.map +1 -1
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +0 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.d.ts.map +1 -1
- package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js +1 -3
- package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js.map +1 -1
- package/dist/webpack/configs/utils/get-launchdarkly-sdk-version.d.ts.map +1 -1
- package/dist/webpack/configs/utils/get-launchdarkly-sdk-version.js +11 -1
- package/dist/webpack/configs/utils/get-launchdarkly-sdk-version.js.map +1 -1
- package/dist/webpack/configs/utils/get-web-components-version.d.ts.map +1 -1
- package/dist/webpack/configs/utils/get-web-components-version.js +7 -5
- package/dist/webpack/configs/utils/get-web-components-version.js.map +1 -1
- package/package.json +13 -12
- package/src/cli/commands/__tests__/mfe-check.test.ts +10 -12
- package/src/cli/commands/mfe-check.ts +1 -5
- package/src/utils/__tests__/get-jest-config.test.ts +1 -1
- package/src/utils/__tests__/get-package-data.test.ts +45 -1
- package/src/utils/find-up.ts +1 -1
- package/src/utils/get-jest-config.ts +1 -1
- package/src/utils/get-package-data.ts +14 -0
- package/src/utils/index.ts +0 -1
- package/src/webpack/__tests__/create-webpack-config-shared-dependencies.test.ts +6 -4
- package/src/webpack/__tests__/create-webpack-config.test.ts +5 -3
- package/src/webpack/configs/plugins/define-exposed-dependencies-plugin.ts +3 -6
- package/src/webpack/configs/utils/__tests__/get-launchdarkly-sdk-version.test.ts +12 -29
- package/src/webpack/configs/utils/__tests__/get-web-components-version.test.ts +12 -37
- package/src/webpack/configs/utils/get-launchdarkly-sdk-version.ts +12 -2
- package/src/webpack/configs/utils/get-web-components-version.ts +5 -8
- package/dist/cli/commands/get-command.d.ts +0 -4
- package/dist/cli/commands/get-command.d.ts.map +0 -1
- package/dist/cli/commands/get-command.js +0 -68
- package/dist/cli/commands/get-command.js.map +0 -1
- package/dist/cli/commands/index.d.ts +0 -15
- package/dist/cli/commands/index.d.ts.map +0 -1
- package/dist/cli/commands/index.js +0 -32
- package/dist/cli/commands/index.js.map +0 -1
- package/dist/cli/commands/run-task.test.d.ts +0 -2
- package/dist/cli/commands/run-task.test.d.ts.map +0 -1
- package/dist/cli/commands/run-task.test.js +0 -65
- package/dist/cli/commands/run-task.test.js.map +0 -1
- package/dist/cypress-config/index.d.ts +0 -2
- package/dist/cypress-config/index.d.ts.map +0 -1
- package/dist/cypress-config/index.js +0 -20
- package/dist/cypress-config/index.js.map +0 -1
- package/dist/cypress-config/webpack-config.d.ts +0 -4
- package/dist/cypress-config/webpack-config.d.ts.map +0 -1
- package/dist/cypress-config/webpack-config.js +0 -76
- package/dist/cypress-config/webpack-config.js.map +0 -1
- package/dist/utils/__tests__/get-package-version.test.js +0 -180
- package/dist/utils/__tests__/get-package-version.test.js.map +0 -1
- package/dist/utils/find-package-lock.d.ts +0 -2
- package/dist/utils/find-package-lock.d.ts.map +0 -1
- package/dist/utils/find-package-lock.js +0 -26
- package/dist/utils/find-package-lock.js.map +0 -1
- package/dist/utils/get-package-version.d.ts +0 -3
- package/dist/utils/get-package-version.d.ts.map +0 -1
- package/dist/utils/get-package-version.js +0 -31
- package/dist/utils/get-package-version.js.map +0 -1
- package/dist/utils/package-lock/find-package-lock.d.ts +0 -2
- package/dist/utils/package-lock/find-package-lock.d.ts.map +0 -1
- package/dist/utils/package-lock/find-package-lock.js +0 -26
- package/dist/utils/package-lock/find-package-lock.js.map +0 -1
- package/dist/utils/package-lock/get-lock-file-entry.d.ts +0 -3
- package/dist/utils/package-lock/get-lock-file-entry.d.ts.map +0 -1
- package/dist/utils/package-lock/get-lock-file-entry.js +0 -22
- package/dist/utils/package-lock/get-lock-file-entry.js.map +0 -1
- package/dist/utils/package-lock/get-lock-file-version.d.ts +0 -3
- package/dist/utils/package-lock/get-lock-file-version.d.ts.map +0 -1
- package/dist/utils/package-lock/get-lock-file-version.js +0 -16
- package/dist/utils/package-lock/get-lock-file-version.js.map +0 -1
- package/dist/utils/package-lock/get-package-version.d.ts +0 -3
- package/dist/utils/package-lock/get-package-version.d.ts.map +0 -1
- package/dist/utils/package-lock/get-package-version.js +0 -31
- package/dist/utils/package-lock/get-package-version.js.map +0 -1
- package/dist/utils/package-lock/index.d.ts +0 -6
- package/dist/utils/package-lock/index.d.ts.map +0 -1
- package/dist/utils/package-lock/index.js +0 -23
- package/dist/utils/package-lock/index.js.map +0 -1
- package/dist/utils/package-lock/read-package-lock.d.ts +0 -3
- package/dist/utils/package-lock/read-package-lock.d.ts.map +0 -1
- package/dist/utils/package-lock/read-package-lock.js +0 -22
- package/dist/utils/package-lock/read-package-lock.js.map +0 -1
- package/dist/utils/package-lock/resolve-package-lock-entry.d.ts +0 -3
- package/dist/utils/package-lock/resolve-package-lock-entry.d.ts.map +0 -1
- package/dist/utils/package-lock/resolve-package-lock-entry.js +0 -21
- package/dist/utils/package-lock/resolve-package-lock-entry.js.map +0 -1
- package/dist/utils/package-lock/types.d.ts +0 -12
- package/dist/utils/package-lock/types.d.ts.map +0 -1
- package/dist/utils/package-lock/types.js +0 -6
- package/dist/utils/package-lock/types.js.map +0 -1
- package/dist/utils/package-lock.d.ts +0 -14
- package/dist/utils/package-lock.d.ts.map +0 -1
- package/dist/utils/package-lock.js +0 -63
- package/dist/utils/package-lock.js.map +0 -1
- package/dist/utils/resolve-package-lock-entry.d.ts +0 -11
- package/dist/utils/resolve-package-lock-entry.d.ts.map +0 -1
- package/dist/utils/resolve-package-lock-entry.js +0 -21
- package/dist/utils/resolve-package-lock-entry.js.map +0 -1
- package/src/utils/package-lock/__tests__/find-package-lock.test.ts +0 -35
- package/src/utils/package-lock/__tests__/get-lock-file-entry.test.ts +0 -97
- package/src/utils/package-lock/__tests__/get-lock-file-version.test.ts +0 -32
- package/src/utils/package-lock/__tests__/read-package-lock.test.ts +0 -47
- package/src/utils/package-lock/find-package-lock.ts +0 -10
- package/src/utils/package-lock/get-lock-file-entry.ts +0 -14
- package/src/utils/package-lock/get-lock-file-version.ts +0 -6
- package/src/utils/package-lock/index.ts +0 -5
- package/src/utils/package-lock/read-package-lock.ts +0 -13
- 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
|
-
|
|
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
|
|
55
|
-
*
|
|
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
|
-
|
|
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":"
|
|
1
|
+
{"version":3,"file":"mfe-check.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-check.ts"],"names":[],"mappings":"AAYA,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;IAkC1B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,mBAAmB;CA2B9B"}
|
|
@@ -58,11 +58,7 @@ class MfeCheck extends _types.Command {
|
|
|
58
58
|
var _hostData_cli_webpack, _hostData_cli, _hostData_cli_webpack1, _hostData_cli1;
|
|
59
59
|
const mfeSharedDependencies = mfeMetadata.sharedDependencies;
|
|
60
60
|
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
|
|
62
|
-
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];
|
|
65
|
-
});
|
|
61
|
+
const exposedDependencies = (0, _utils1.getExposedDependencies)(hostSharedDependencies, hostData.dependencies);
|
|
66
62
|
const mismatchResult = (0, _startuputils.getVersionMismatches)(exposedDependencies, mfeMetadata.dependencies, mfeSharedDependencies);
|
|
67
63
|
const isHostMfe = (0, _utils.isWebComponent)(hostData);
|
|
68
64
|
const isSharedDependenciesEnabled = ((_hostData_cli1 = hostData.cli) === null || _hostData_cli1 === void 0 ? void 0 : (_hostData_cli_webpack1 = _hostData_cli1.webpack) === null || _hostData_cli_webpack1 === void 0 ? void 0 : _hostData_cli_webpack1['expose-shared-dependencies']) === true;
|
|
@@ -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
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/commands/mfe-check.ts"],"sourcesContent":["import { 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 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 exposedDependencies = getExposedDependencies(\n hostSharedDependencies,\n hostData.dependencies\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","exposedDependencies","getExposedDependencies","mismatchResult","getVersionMismatches","isHostMfe","isWebComponent","isSharedDependenciesEnabled","bundleType","mismatches","stdout","write","JSON","stringify","log","info","error","dep","versions","entries","host","package"],"mappings":";;;;+BAoCaA;;;eAAAA;;;8BApCwB;iEACpB;uBAQV;wBAEgC;uBAEf;;;;;;;;;;;;;;;AAuBjB,MAAMA,iBAAiBC,cAAO;IACjC,MACMC,UAAU;QACZ,MAAM,EAAEC,UAAUC,YAAY,EAAEC,eAAe,EAAEC,IAAI,EAAE,GAAG,IAAI,CAACC,IAAI;QACnE,MAAMC,cAAcC,IAAAA,eAAQ,EAAWC,iBAAI,CAACC,OAAO,CAACP;QACpD,MAAMQ,uBAAuBC,IAAAA,cAAO,EAACR;QACrC,MAAMS,WAAW,IAAI,CAACC,kBAAkB,CAACH;QACzC,MAAMI,SAAS,IAAI,CAACC,kBAAkB,CAACT,aAAaM;QAEpD,IAAIR,MAAM;YACN,IAAI,CAACY,UAAU,CAACF;QACpB,OAAO;YACH,IAAI,CAACG,mBAAmB,CAACH;QAC7B;QAEA,IAAI,CAACA,OAAOI,UAAU,EAAE;YACpBC,QAAQC,QAAQ,GAAG;QACvB;QAEA,OAAOC,QAAQZ,OAAO;IAC1B;IAEQI,mBAAmBS,gBAA0B,EAAmB;QACpE,MAAMC,WAAWD,iBAAiBE,GAAG,CAACC,CAAAA,kBAClClB,IAAAA,eAAQ,EAAkBC,iBAAI,CAACC,OAAO,CAACgB;QAE3C,MAAMC,qBAAqBH,SAASI,WAAW,CAC3C,CAACb,QAAQc,iBAAmBC,OAAOC,MAAM,CAAChB,QAAQc,eAAeG,YAAY,GAC7E,CAAC;QAEL,MAAMC,cAAcT,QAAQ,CAAC,EAAE;QAE/B,OAAO;YACHU,MAAMD,YAAYC,IAAI;YACtBC,KAAKF,YAAYE,GAAG;YACpBH,cAAcL;QAClB;IACJ;IAEQX,mBACJT,WAAqB,EACrBM,QAAyB,EACN;YAIfA,uBAAAA,eAcAA,wBAAAA;QAjBJ,MAAMuB,wBAAwB7B,YAAY8B,kBAAkB;QAC5D,MAAMC,yBAAyBC,IAAAA,6BAAsB,EACjD1B,SAASmB,YAAY,GACrBnB,gBAAAA,SAASsB,GAAG,cAAZtB,qCAAAA,wBAAAA,cAAc2B,OAAO,cAArB3B,4CAAAA,qBAAuB,CAAC,sBAAsB;QAElD,MAAM4B,sBAAsBC,IAAAA,8BAAsB,EAC9CJ,wBACAzB,SAASmB,YAAY;QAEzB,MAAMW,iBAAiBC,IAAAA,kCAAoB,EACvCH,qBACAlC,YAAYyB,YAAY,EACxBI;QAGJ,MAAMS,YAAYC,IAAAA,qBAAc,EAACjC;QACjC,MAAMkC,8BACFlC,EAAAA,iBAAAA,SAASsB,GAAG,cAAZtB,sCAAAA,yBAAAA,eAAc2B,OAAO,cAArB3B,6CAAAA,sBAAuB,CAAC,6BAA6B,MAAK;QAC9D,MAAMM,aAAa,CAAC0B,aAAa,CAACF,kBAAkBI;QAEpD,OAAO;YACHb,MAAM3B,YAAY2B,IAAI;YACtBf;YACA6B,YAAY7B,aAAa,UAAU;YACnC4B;YACAF;YACA,GAAIF,iBAAiB;gBAAEM,YAAYN;YAAe,IAAI,CAAC,CAAC;QAC5D;IACJ;IAEQ1B,WAAWF,MAA2B,EAAE;QAC5CK,QAAQ8B,MAAM,CAACC,KAAK,CAACC,KAAKC,SAAS,CAACtC,QAAQ,MAAM,KAAK;IAC3D;IAEQG,oBAAoBH,MAA2B,EAAE;QACrDuC,UAAG,CAACC,IAAI,CAAC,CAAC,SAAS,EAAExC,OAAOmB,IAAI,CAAC,GAAG,CAAC;QAErC,IAAInB,OAAO8B,SAAS,EAAE;YAClBS,UAAG,CAACE,KAAK,CAAC;YACV;QACJ;QAEA,IAAIzC,OAAOI,UAAU,EAAE;YACnBmC,UAAG,CAACC,IAAI,CAAC;YACT;QACJ;QAEA,IAAIxC,OAAOkC,UAAU,EAAE;YACnBK,UAAG,CAACE,KAAK,CAAC;YAEV,KAAK,MAAM,CAACC,KAAKC,SAAS,IAAI5B,OAAO6B,OAAO,CAAC5C,OAAOkC,UAAU,EAAG;gBAC7DK,UAAG,CAACE,KAAK,CAAC,CAAC,EAAE,EAAEC,IAAI,OAAO,EAAEC,SAASE,IAAI,CAAC,UAAU,EAAEF,SAASG,OAAO,EAAE;YAC5E;QACJ;QAEA,IAAI,CAAC9C,OAAOgC,2BAA2B,EAAE;YACrCO,UAAG,CAACE,KAAK,CAAC;QACd;QAEAF,UAAG,CAACE,KAAK,CAAC;IACd;AACJ"}
|
package/dist/utils/find-up.js
CHANGED
|
@@ -8,21 +8,21 @@ Object.defineProperty(exports, "findUp", {
|
|
|
8
8
|
return findUp;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const
|
|
11
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("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 =
|
|
18
|
+
let directory = _path.default.resolve('./');
|
|
19
19
|
do {
|
|
20
20
|
const result = callback(directory);
|
|
21
21
|
if (result) {
|
|
22
22
|
return result;
|
|
23
23
|
}
|
|
24
|
-
directory =
|
|
25
|
-
}while (
|
|
24
|
+
directory = _path.default.resolve(_path.default.join(directory, '../'));
|
|
25
|
+
}while (_path.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 '
|
|
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"}
|
|
@@ -40,7 +40,7 @@ function getDefaultJestConfiguration() {
|
|
|
40
40
|
modulePathIgnorePatterns: [
|
|
41
41
|
'<rootDir>/.*/__mocks__'
|
|
42
42
|
],
|
|
43
|
-
preset:
|
|
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:
|
|
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"}
|
|
@@ -5,5 +5,6 @@ interface PackageData {
|
|
|
5
5
|
sharedDependencies?: Record<string, string>;
|
|
6
6
|
}
|
|
7
7
|
export declare function getPackageData(): PackageData;
|
|
8
|
+
export declare function getPackageDependencyVersion(dependency: string, defaultVersion?: string): any;
|
|
8
9
|
export {};
|
|
9
10
|
//# sourceMappingURL=get-package-data.d.ts.map
|
|
@@ -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"}
|
|
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"}
|
|
@@ -2,10 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
get getPackageData () {
|
|
8
13
|
return getPackageData;
|
|
14
|
+
},
|
|
15
|
+
get getPackageDependencyVersion () {
|
|
16
|
+
return getPackageDependencyVersion;
|
|
9
17
|
}
|
|
10
18
|
});
|
|
11
19
|
const _readjson = require("./read-json");
|
|
@@ -22,5 +30,16 @@ function getPackageData() {
|
|
|
22
30
|
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']
|
|
23
31
|
};
|
|
24
32
|
}
|
|
33
|
+
function getPackageDependencyVersion(dependency, defaultVersion) {
|
|
34
|
+
try {
|
|
35
|
+
const { version } = require(`${dependency}/package.json`);
|
|
36
|
+
if (version) {
|
|
37
|
+
return version;
|
|
38
|
+
}
|
|
39
|
+
} catch (unused) {
|
|
40
|
+
// skip error
|
|
41
|
+
}
|
|
42
|
+
return defaultVersion;
|
|
43
|
+
}
|
|
25
44
|
|
|
26
45
|
//# sourceMappingURL=get-package-data.js.map
|
|
@@ -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"],"names":["getPackageData","packageJson","readJson","name","version","dependencies","sharedDependencies","cli","webpack"],"mappings":"
|
|
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"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/utils/index.js
CHANGED
|
@@ -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);
|
package/dist/utils/index.js.map
CHANGED
|
@@ -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 './
|
|
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,
|
|
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,4BAe7E"}
|
|
@@ -17,11 +17,9 @@ function defineExposedDependenciesPlugin(context, _) {
|
|
|
17
17
|
return;
|
|
18
18
|
}
|
|
19
19
|
const { packageData, sharedDependencies } = context;
|
|
20
|
-
const lockFile = (0, _utils.readPackageLock)();
|
|
21
20
|
const exposedDependencies = (0, _utils1.getExposedDependencies)(sharedDependencies, (dependency)=>{
|
|
22
|
-
var _getLockFileVersion;
|
|
23
21
|
var _packageData_dependencies;
|
|
24
|
-
return (
|
|
22
|
+
return (0, _utils.getPackageDependencyVersion)(dependency, (_packageData_dependencies = packageData.dependencies) === null || _packageData_dependencies === void 0 ? void 0 : _packageData_dependencies[dependency]);
|
|
25
23
|
});
|
|
26
24
|
return new _webpack.DefinePlugin({
|
|
27
25
|
// 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 {
|
|
1
|
+
{"version":3,"sources":["../../../../src/webpack/configs/plugins/define-exposed-dependencies-plugin.ts"],"sourcesContent":["import { DefinePlugin } from 'webpack';\nimport { getPackageDependencyVersion } 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 exposedDependencies = getExposedDependencies(sharedDependencies, dependency =>\n getPackageDependencyVersion(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","exposedDependencies","getExposedDependencies","dependency","getPackageDependencyVersion","dependencies","DefinePlugin","EXPOSED_DEPENDENCIES","JSON","stringify"],"mappings":";;;;+BAKgBA;;;eAAAA;;;yBALa;uBACe;wBAEL;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,sBAAsBC,IAAAA,8BAAsB,EAACF,oBAAoBG,CAAAA;YAC3BJ;eAAxCK,IAAAA,kCAA2B,EAACD,aAAYJ,4BAAAA,YAAYM,YAAY,cAAxBN,gDAAAA,yBAA0B,CAACI,WAAW;;IAGlF,OAAO,IAAIG,qBAAY,CAAC;QACpB,gEAAgE;QAChEC,sBAAsBC,KAAKC,SAAS,CAACR;IACzC;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":"
|
|
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"}
|
|
@@ -8,9 +8,19 @@ Object.defineProperty(exports, "getLaunchDarklySdkVersion", {
|
|
|
8
8
|
return getLaunchDarklySdkVersion;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
11
12
|
const _utils = require("../../../utils");
|
|
13
|
+
function _interop_require_default(obj) {
|
|
14
|
+
return obj && obj.__esModule ? obj : {
|
|
15
|
+
default: obj
|
|
16
|
+
};
|
|
17
|
+
}
|
|
12
18
|
function getLaunchDarklySdkVersion() {
|
|
13
|
-
|
|
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
|
+
}
|
|
14
24
|
}
|
|
15
25
|
|
|
16
26
|
//# sourceMappingURL=get-launchdarkly-sdk-version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/webpack/configs/utils/get-launchdarkly-sdk-version.ts"],"sourcesContent":["import {
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-web-components-version.d.ts","sourceRoot":"","sources":["../../../../src/webpack/configs/utils/get-web-components-version.ts"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -8,13 +8,15 @@ Object.defineProperty(exports, "getWebComponentsVersion", {
|
|
|
8
8
|
return getWebComponentsVersion;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
11
12
|
const _utils = require("../../../utils");
|
|
13
|
+
function _interop_require_default(obj) {
|
|
14
|
+
return obj && obj.__esModule ? obj : {
|
|
15
|
+
default: obj
|
|
16
|
+
};
|
|
17
|
+
}
|
|
12
18
|
function getWebComponentsVersion() {
|
|
13
|
-
|
|
14
|
-
if (!version) {
|
|
15
|
-
throw new Error('Unable to resolve @servicetitan/web-components version from package-lock.json');
|
|
16
|
-
}
|
|
17
|
-
return version;
|
|
19
|
+
return (0, _utils.readJson)(_path.default.join(_path.default.dirname(require.resolve('@servicetitan/web-components')), '../package.json')).version;
|
|
18
20
|
}
|
|
19
21
|
|
|
20
22
|
//# sourceMappingURL=get-web-components-version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/webpack/configs/utils/get-web-components-version.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../../src/webpack/configs/utils/get-web-components-version.ts"],"sourcesContent":["import path from 'path';\nimport { readJson } from '../../../utils';\n\nexport function getWebComponentsVersion() {\n return readJson<{ version: string }>(\n path.join(path.dirname(require.resolve('@servicetitan/web-components')), '../package.json')\n ).version;\n}\n"],"names":["getWebComponentsVersion","readJson","path","join","dirname","require","resolve","version"],"mappings":";;;;+BAGgBA;;;eAAAA;;;6DAHC;uBACQ;;;;;;AAElB,SAASA;IACZ,OAAOC,IAAAA,eAAQ,EACXC,aAAI,CAACC,IAAI,CAACD,aAAI,CAACE,OAAO,CAACC,QAAQC,OAAO,CAAC,kCAAkC,oBAC3EC,OAAO;AACb"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servicetitan/startup",
|
|
3
|
-
"version": "36.3.0
|
|
3
|
+
"version": "36.3.0",
|
|
4
4
|
"description": "CLI to create multi-package Lerna projects with TypeScript and React",
|
|
5
5
|
"homepage": "https://docs.st.dev/docs/frontend/uikit/startup",
|
|
6
6
|
"repository": {
|
|
@@ -94,13 +94,13 @@
|
|
|
94
94
|
},
|
|
95
95
|
"dependencies": {
|
|
96
96
|
"@babel/preset-env": "~7.29.5",
|
|
97
|
-
"@jest/core": "~30.
|
|
98
|
-
"@jest/types": "~30.
|
|
97
|
+
"@jest/core": "~30.4.2",
|
|
98
|
+
"@jest/types": "~30.4.1",
|
|
99
99
|
"@jsdevtools/coverage-istanbul-loader": "^3.0.5",
|
|
100
|
-
"@servicetitan/eslint-config": "36.
|
|
101
|
-
"@servicetitan/install": "36.
|
|
102
|
-
"@servicetitan/startup-utils": "36.
|
|
103
|
-
"@servicetitan/stylelint-config": "36.
|
|
100
|
+
"@servicetitan/eslint-config": "36.3.0",
|
|
101
|
+
"@servicetitan/install": "36.3.0",
|
|
102
|
+
"@servicetitan/startup-utils": "36.3.0",
|
|
103
|
+
"@servicetitan/stylelint-config": "36.3.0",
|
|
104
104
|
"@svgr/webpack": "^8.1.0",
|
|
105
105
|
"@swc/cli": "^0.8.1",
|
|
106
106
|
"@swc/core": "1.15.33",
|
|
@@ -120,9 +120,9 @@
|
|
|
120
120
|
"html-webpack-plugin": "~5.6.7",
|
|
121
121
|
"html-webpack-tags-plugin": "^3.0.2",
|
|
122
122
|
"identity-obj-proxy": "~3.0.0",
|
|
123
|
-
"jest": "~30.
|
|
124
|
-
"jest-circus": "~30.
|
|
125
|
-
"jest-environment-jsdom": "
|
|
123
|
+
"jest": "~30.4.2",
|
|
124
|
+
"jest-circus": "~30.4.2",
|
|
125
|
+
"jest-environment-jsdom": "~30.4.1",
|
|
126
126
|
"jest-fetch-mock": "~3.0.3",
|
|
127
127
|
"js-yaml": "~4.1.1",
|
|
128
128
|
"json5": "^2.2.3",
|
|
@@ -141,7 +141,7 @@
|
|
|
141
141
|
"postcss": "~8.5.14",
|
|
142
142
|
"prettier": "~3.8.3",
|
|
143
143
|
"sass": "~1.99.0",
|
|
144
|
-
"sass-loader": "~16.0.
|
|
144
|
+
"sass-loader": "~16.0.8",
|
|
145
145
|
"semver": "~7.7.4",
|
|
146
146
|
"source-map-loader": "~5.0.0",
|
|
147
147
|
"style-loader": "~4.0.0",
|
|
@@ -184,5 +184,6 @@
|
|
|
184
184
|
},
|
|
185
185
|
"cli": {
|
|
186
186
|
"webpack": false
|
|
187
|
-
}
|
|
187
|
+
},
|
|
188
|
+
"gitHead": "5c664540fe1fa530da3b311b28941e2fb26c6cff"
|
|
188
189
|
}
|
|
@@ -8,10 +8,19 @@ jest.mock('fs', () => fs);
|
|
|
8
8
|
jest.mock('../../../utils', () => ({
|
|
9
9
|
...jest.requireActual('../../../utils'),
|
|
10
10
|
log: { info: jest.fn(), error: jest.fn(), warning: jest.fn() },
|
|
11
|
-
readPackageLock: jest.fn(),
|
|
12
11
|
}));
|
|
13
12
|
|
|
14
13
|
describe(`[startup] ${MfeCheck.name}`, () => {
|
|
14
|
+
let stdoutWriteSpy: jest.SpyInstance;
|
|
15
|
+
let processExitCodeSpy: jest.SpyInstance;
|
|
16
|
+
let mfeCheckArgs:
|
|
17
|
+
| {
|
|
18
|
+
metadata?: string;
|
|
19
|
+
hostPackageJson?: string[];
|
|
20
|
+
json?: boolean;
|
|
21
|
+
}
|
|
22
|
+
| undefined;
|
|
23
|
+
|
|
15
24
|
const defaultMfeCheckArgs = {
|
|
16
25
|
metadata: '/path/to/metadata.json',
|
|
17
26
|
hostPackageJson: ['/path/to/host/package.json'],
|
|
@@ -39,23 +48,12 @@ describe(`[startup] ${MfeCheck.name}`, () => {
|
|
|
39
48
|
},
|
|
40
49
|
};
|
|
41
50
|
|
|
42
|
-
let stdoutWriteSpy: jest.SpyInstance;
|
|
43
|
-
let processExitCodeSpy: jest.SpyInstance;
|
|
44
|
-
let mfeCheckArgs:
|
|
45
|
-
| {
|
|
46
|
-
metadata?: string;
|
|
47
|
-
hostPackageJson?: string[];
|
|
48
|
-
json?: boolean;
|
|
49
|
-
}
|
|
50
|
-
| undefined;
|
|
51
|
-
|
|
52
51
|
beforeEach(() => {
|
|
53
52
|
jest.clearAllMocks();
|
|
54
53
|
|
|
55
54
|
mfeCheckArgs = undefined;
|
|
56
55
|
stdoutWriteSpy = jest.spyOn(process.stdout, 'write').mockImplementation(() => true);
|
|
57
56
|
processExitCodeSpy = jest.spyOn(process, 'exitCode', 'set').mockImplementation(() => {});
|
|
58
|
-
jest.mocked(utils.readPackageLock).mockReturnValue({ packages: {} });
|
|
59
57
|
|
|
60
58
|
vol.fromJSON({
|
|
61
59
|
'/path/to/metadata.json': JSON.stringify(mockMetadata),
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { getVersionMismatches } from '@servicetitan/startup-utils';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import {
|
|
4
|
-
getLockFileVersion,
|
|
5
4
|
isWebComponent,
|
|
6
5
|
loadSharedDependencies,
|
|
7
6
|
log,
|
|
8
7
|
logErrors,
|
|
9
8
|
readJson,
|
|
10
|
-
readPackageLock,
|
|
11
9
|
toArray,
|
|
12
10
|
} from '../../utils';
|
|
13
11
|
import { Metadata } from '../../webpack/configs/types';
|
|
@@ -84,11 +82,9 @@ export class MfeCheck extends Command<typeof entry> {
|
|
|
84
82
|
hostData.dependencies,
|
|
85
83
|
hostData.cli?.webpack?.['shared-dependencies']
|
|
86
84
|
);
|
|
87
|
-
const lockFile = readPackageLock();
|
|
88
85
|
const exposedDependencies = getExposedDependencies(
|
|
89
86
|
hostSharedDependencies,
|
|
90
|
-
|
|
91
|
-
getLockFileVersion(lockFile, dependency) ?? hostData.dependencies[dependency]
|
|
87
|
+
hostData.dependencies
|
|
92
88
|
);
|
|
93
89
|
const mismatchResult = getVersionMismatches(
|
|
94
90
|
exposedDependencies,
|
|
@@ -20,7 +20,7 @@ describe('[startup] Utils', () => {
|
|
|
20
20
|
'\\.(css|scss|less|png|jpg|jpeg|gif|woff|woff2|eot|ttf|otf)$': 'identity-obj-proxy',
|
|
21
21
|
},
|
|
22
22
|
modulePathIgnorePatterns: ['<rootDir>/.*/__mocks__'],
|
|
23
|
-
preset:
|
|
23
|
+
preset: '@servicetitan/startup',
|
|
24
24
|
resolver: '@servicetitan/startup/jest-resolver',
|
|
25
25
|
setupFiles: [expect.stringContaining(path.join('jest', 'setup.js'))],
|
|
26
26
|
testEnvironment: 'jsdom',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getPackageData } from '../get-package-data';
|
|
1
|
+
import { getPackageData, getPackageDependencyVersion } from '../get-package-data';
|
|
2
2
|
import { readJson } from '../read-json';
|
|
3
3
|
|
|
4
4
|
jest.mock('../read-json', () => ({ readJson: jest.fn() }));
|
|
@@ -46,4 +46,48 @@ describe(`[startup] Utils`, () => {
|
|
|
46
46
|
});
|
|
47
47
|
});
|
|
48
48
|
});
|
|
49
|
+
|
|
50
|
+
describe(`${getPackageDependencyVersion.name}`, () => {
|
|
51
|
+
const dependency = 'foo';
|
|
52
|
+
let defaultVersion: string | undefined;
|
|
53
|
+
|
|
54
|
+
beforeEach(() => (defaultVersion = undefined));
|
|
55
|
+
|
|
56
|
+
const subject = () => getPackageDependencyVersion(dependency, defaultVersion);
|
|
57
|
+
|
|
58
|
+
function itReturnsUndefinedOrDefaultVersion() {
|
|
59
|
+
test('returns undefined', () => {
|
|
60
|
+
expect(subject()).toBe(undefined);
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
describe('with a default version', () => {
|
|
64
|
+
beforeEach(() => (defaultVersion = '1.2.3'));
|
|
65
|
+
|
|
66
|
+
test('returns default version', () => {
|
|
67
|
+
expect(subject()).toBe(defaultVersion);
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
itReturnsUndefinedOrDefaultVersion();
|
|
73
|
+
|
|
74
|
+
describe('when dependency exists', () => {
|
|
75
|
+
const module: Record<string, any> = {};
|
|
76
|
+
|
|
77
|
+
beforeEach(() => {
|
|
78
|
+
module.version = '2.3.4';
|
|
79
|
+
jest.doMock(`${dependency}/package.json`, () => module, { virtual: true });
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
test('returns dependency version', () => {
|
|
83
|
+
expect(subject()).toBe(module.version);
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
describe('when dependency has no version', () => {
|
|
87
|
+
beforeEach(() => delete module.version);
|
|
88
|
+
|
|
89
|
+
itReturnsUndefinedOrDefaultVersion();
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
});
|
|
49
93
|
});
|
package/src/utils/find-up.ts
CHANGED
|
@@ -16,7 +16,7 @@ function getDefaultJestConfiguration() {
|
|
|
16
16
|
coverageReporters: ['html-spa', 'text', 'json', 'cobertura', 'lcov'],
|
|
17
17
|
moduleNameMapper,
|
|
18
18
|
modulePathIgnorePatterns: ['<rootDir>/.*/__mocks__'],
|
|
19
|
-
preset:
|
|
19
|
+
preset: '@servicetitan/startup',
|
|
20
20
|
resolver: '@servicetitan/startup/jest-resolver',
|
|
21
21
|
setupFiles: [path.join(__dirname, '../../jest/setup.js')],
|
|
22
22
|
testEnvironment: 'jsdom',
|