@servicetitan/startup 36.3.0-far-1776.3 → 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/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/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/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/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
|
@@ -20,3 +20,17 @@ export function getPackageData(): PackageData {
|
|
|
20
20
|
sharedDependencies: packageJson.cli?.webpack?.['shared-dependencies'],
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
|
+
|
|
24
|
+
export function getPackageDependencyVersion(dependency: string, defaultVersion?: string) {
|
|
25
|
+
try {
|
|
26
|
+
const { version } = require(`${dependency}/package.json`);
|
|
27
|
+
|
|
28
|
+
if (version) {
|
|
29
|
+
return version;
|
|
30
|
+
}
|
|
31
|
+
} catch {
|
|
32
|
+
// skip error
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return defaultVersion;
|
|
36
|
+
}
|
package/src/utils/index.ts
CHANGED
|
@@ -13,6 +13,7 @@ import yargs from 'yargs';
|
|
|
13
13
|
import {
|
|
14
14
|
getFolders,
|
|
15
15
|
getPackageData,
|
|
16
|
+
getPackageDependencyVersion,
|
|
16
17
|
getPackages,
|
|
17
18
|
getTsConfig,
|
|
18
19
|
isCustomStyleRules,
|
|
@@ -20,7 +21,6 @@ import {
|
|
|
20
21
|
loadSharedDependencies,
|
|
21
22
|
log,
|
|
22
23
|
pick,
|
|
23
|
-
readPackageLock,
|
|
24
24
|
} from '../../utils';
|
|
25
25
|
import { miniCssPluginStyleRules } from '../__mocks__';
|
|
26
26
|
import { getLaunchDarklySdkVersion } from '../configs/utils/get-launchdarkly-sdk-version';
|
|
@@ -46,7 +46,7 @@ jest.mock('../../utils', () => ({
|
|
|
46
46
|
...jest.requireActual('../../utils'),
|
|
47
47
|
getFolders: jest.fn(),
|
|
48
48
|
getPackageData: jest.fn(),
|
|
49
|
-
|
|
49
|
+
getPackageDependencyVersion: jest.fn(),
|
|
50
50
|
getPackages: jest.fn(),
|
|
51
51
|
getTsConfig: jest.fn(),
|
|
52
52
|
isCustomStyleRules: jest.fn(),
|
|
@@ -113,7 +113,9 @@ describe(`[startup] ${createWebpackConfig.name}`, () => {
|
|
|
113
113
|
dependencies,
|
|
114
114
|
sharedDependencies,
|
|
115
115
|
});
|
|
116
|
-
jest.mocked(
|
|
116
|
+
jest.mocked(getPackageDependencyVersion).mockImplementation(
|
|
117
|
+
(_, defaultVersion) => defaultVersion
|
|
118
|
+
);
|
|
117
119
|
jest.mocked(getPackages).mockReturnValue([]);
|
|
118
120
|
jest.mocked(getTsConfig).mockReturnValue(tsConfig);
|
|
119
121
|
jest.mocked(loadSharedDependencies).mockReturnValue(sharedDependencies);
|
|
@@ -160,7 +162,7 @@ describe(`[startup] ${createWebpackConfig.name}`, () => {
|
|
|
160
162
|
Object.entries(sharedDependencies).map(([name, variable]) => [
|
|
161
163
|
name,
|
|
162
164
|
{
|
|
163
|
-
version: dependencies[name],
|
|
165
|
+
version: getPackageDependencyVersion(name, dependencies[name]),
|
|
164
166
|
variable,
|
|
165
167
|
},
|
|
166
168
|
])
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
getConfiguration,
|
|
18
18
|
getFolders,
|
|
19
19
|
getPackageData,
|
|
20
|
+
getPackageDependencyVersion,
|
|
20
21
|
getPackages,
|
|
21
22
|
getTsConfig,
|
|
22
23
|
getWebpackConfiguration,
|
|
@@ -26,7 +27,6 @@ import {
|
|
|
26
27
|
loadSharedDependencies,
|
|
27
28
|
log,
|
|
28
29
|
Package,
|
|
29
|
-
readPackageLock,
|
|
30
30
|
WebpackConfiguration,
|
|
31
31
|
} from '../../utils';
|
|
32
32
|
import { fileRules, productionStyleRules, styleRules } from '../__mocks__';
|
|
@@ -60,7 +60,7 @@ jest.mock('../../utils', () => ({
|
|
|
60
60
|
getConfiguration: jest.fn(),
|
|
61
61
|
getFolders: jest.fn(),
|
|
62
62
|
getPackageData: jest.fn(),
|
|
63
|
-
|
|
63
|
+
getPackageDependencyVersion: jest.fn(),
|
|
64
64
|
getPackages: jest.fn(),
|
|
65
65
|
getTsConfig: jest.fn(),
|
|
66
66
|
getWebpackConfiguration: jest.fn(),
|
|
@@ -146,7 +146,9 @@ describe(`[startup] ${createWebpackConfig.name}`, () => {
|
|
|
146
146
|
dependencies,
|
|
147
147
|
sharedDependencies,
|
|
148
148
|
});
|
|
149
|
-
jest.mocked(
|
|
149
|
+
jest.mocked(getPackageDependencyVersion).mockImplementation(
|
|
150
|
+
(_, defaultVersion) => defaultVersion
|
|
151
|
+
);
|
|
150
152
|
jest.mocked(getPackages).mockImplementation(() => packages);
|
|
151
153
|
jest.mocked(getTsConfig).mockReturnValue(tsConfig);
|
|
152
154
|
jest.mocked(loadSharedDependencies).mockReturnValue(sharedDependencies);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DefinePlugin } from 'webpack';
|
|
2
|
-
import {
|
|
2
|
+
import { getPackageDependencyVersion } from '../../../utils';
|
|
3
3
|
import { Context, Overrides } from '../types';
|
|
4
4
|
import { getExposedDependencies } from '../utils';
|
|
5
5
|
|
|
@@ -10,11 +10,8 @@ export function defineExposedDependenciesPlugin(context: Context, _: Overrides)
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
const { packageData, sharedDependencies } = context;
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
sharedDependencies,
|
|
16
|
-
dependency =>
|
|
17
|
-
getLockFileVersion(lockFile, dependency) ?? packageData.dependencies?.[dependency]
|
|
13
|
+
const exposedDependencies = getExposedDependencies(sharedDependencies, dependency =>
|
|
14
|
+
getPackageDependencyVersion(dependency, packageData.dependencies?.[dependency])
|
|
18
15
|
);
|
|
19
16
|
|
|
20
17
|
return new DefinePlugin({
|
|
@@ -1,47 +1,30 @@
|
|
|
1
1
|
import { fs, vol } from 'memfs';
|
|
2
|
+
import { getLaunchDarklySdkVersion } from '../get-launchdarkly-sdk-version';
|
|
2
3
|
|
|
3
4
|
jest.mock('fs', () => fs);
|
|
4
5
|
|
|
5
|
-
describe(
|
|
6
|
+
describe(`[startup] ${getLaunchDarklySdkVersion.name}`, () => {
|
|
6
7
|
const launchDarklySdkVersion = '1.2.3';
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
jest.resetModules();
|
|
10
|
-
vol.reset();
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
const subject = async () => {
|
|
14
|
-
const { getLaunchDarklySdkVersion } = await import('../get-launchdarkly-sdk-version');
|
|
15
|
-
return getLaunchDarklySdkVersion();
|
|
16
|
-
};
|
|
9
|
+
const subject = () => getLaunchDarklySdkVersion();
|
|
17
10
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
vol.fromJSON({
|
|
21
|
-
'./package-lock.json': JSON.stringify({ packages: {} }),
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
test('returns undefined', async () => {
|
|
26
|
-
expect(await subject()).toBeUndefined();
|
|
27
|
-
});
|
|
11
|
+
test('returns undefined', () => {
|
|
12
|
+
expect(subject()).toBeUndefined();
|
|
28
13
|
});
|
|
29
14
|
|
|
30
|
-
describe('when package is
|
|
15
|
+
describe('when package is present', () => {
|
|
31
16
|
beforeEach(() => {
|
|
32
17
|
vol.fromJSON({
|
|
33
|
-
'
|
|
34
|
-
|
|
35
|
-
'node_modules/launchdarkly-js-client-sdk': {
|
|
36
|
-
version: launchDarklySdkVersion,
|
|
37
|
-
},
|
|
38
|
-
},
|
|
18
|
+
'node_modules/launchdarkly-js-client-sdk/package.json': JSON.stringify({
|
|
19
|
+
version: launchDarklySdkVersion,
|
|
39
20
|
}),
|
|
40
21
|
});
|
|
41
22
|
});
|
|
42
23
|
|
|
43
|
-
|
|
44
|
-
|
|
24
|
+
afterEach(() => vol.reset());
|
|
25
|
+
|
|
26
|
+
test('returns version from launchdarkly-js-client-sdk package', () => {
|
|
27
|
+
expect(subject()).toEqual(launchDarklySdkVersion);
|
|
45
28
|
});
|
|
46
29
|
});
|
|
47
30
|
});
|
|
@@ -1,49 +1,24 @@
|
|
|
1
1
|
import { fs, vol } from 'memfs';
|
|
2
|
+
import { getWebComponentsVersion } from '../get-web-components-version';
|
|
2
3
|
|
|
3
4
|
jest.mock('fs', () => fs);
|
|
4
5
|
|
|
5
|
-
describe(
|
|
6
|
+
describe(`[startup] ${getWebComponentsVersion.name}`, () => {
|
|
6
7
|
const webComponentsVersion = '1.2.3';
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const subject = async () => {
|
|
14
|
-
const { getWebComponentsVersion } = await import('../get-web-components-version');
|
|
15
|
-
return getWebComponentsVersion();
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
describe('when package is in package-lock.json', () => {
|
|
19
|
-
beforeEach(() => {
|
|
20
|
-
vol.fromJSON({
|
|
21
|
-
'./package-lock.json': JSON.stringify({
|
|
22
|
-
packages: {
|
|
23
|
-
'node_modules/@servicetitan/web-components': {
|
|
24
|
-
version: webComponentsVersion,
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
}),
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
test('returns version from package-lock.json', async () => {
|
|
32
|
-
expect(await subject()).toEqual(webComponentsVersion);
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
vol.fromJSON({
|
|
11
|
+
'packages/web-components/package.json': JSON.stringify({
|
|
12
|
+
version: webComponentsVersion,
|
|
13
|
+
}),
|
|
33
14
|
});
|
|
34
15
|
});
|
|
35
16
|
|
|
36
|
-
|
|
37
|
-
beforeEach(() => {
|
|
38
|
-
vol.fromJSON({
|
|
39
|
-
'./package-lock.json': JSON.stringify({ packages: {} }),
|
|
40
|
-
});
|
|
41
|
-
});
|
|
17
|
+
afterEach(() => vol.reset());
|
|
42
18
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
});
|
|
19
|
+
const subject = () => getWebComponentsVersion();
|
|
20
|
+
|
|
21
|
+
test('returns version from @servicetitan/web-components package', () => {
|
|
22
|
+
expect(subject()).toEqual(webComponentsVersion);
|
|
48
23
|
});
|
|
49
24
|
});
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
-
import
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { readJson } from '../../../utils';
|
|
2
3
|
|
|
3
4
|
export function getLaunchDarklySdkVersion() {
|
|
4
|
-
|
|
5
|
+
try {
|
|
6
|
+
return readJson<{ version: string }>(
|
|
7
|
+
path.join(
|
|
8
|
+
path.dirname(require.resolve('launchdarkly-js-client-sdk')),
|
|
9
|
+
'../package.json'
|
|
10
|
+
)
|
|
11
|
+
).version;
|
|
12
|
+
} catch {
|
|
13
|
+
// ignore
|
|
14
|
+
}
|
|
5
15
|
}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { readJson } from '../../../utils';
|
|
2
3
|
|
|
3
4
|
export function getWebComponentsVersion() {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
'Unable to resolve @servicetitan/web-components version from package-lock.json'
|
|
8
|
-
);
|
|
9
|
-
}
|
|
10
|
-
return version;
|
|
5
|
+
return readJson<{ version: string }>(
|
|
6
|
+
path.join(path.dirname(require.resolve('@servicetitan/web-components')), '../package.json')
|
|
7
|
+
).version;
|
|
11
8
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"find-package-lock.d.ts","sourceRoot":"","sources":["../../../src/utils/package-lock/find-package-lock.ts"],"names":[],"mappings":"AAIA,wBAAgB,eAAe,uBAK9B"}
|
|
@@ -1,26 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/package-lock/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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-lock-file-entry.d.ts","sourceRoot":"","sources":["../../../src/utils/package-lock/get-lock-file-entry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,sCAW1F"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "getLockFileEntry", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return getLockFileEntry;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
function getLockFileEntry(lockFile, packageName, scope) {
|
|
12
|
-
var _ref;
|
|
13
|
-
const { packages } = lockFile;
|
|
14
|
-
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}`];
|
|
15
|
-
if ((entry === null || entry === void 0 ? void 0 : entry.link) && entry.resolved) {
|
|
16
|
-
var _ref1;
|
|
17
|
-
return (_ref1 = packages === null || packages === void 0 ? void 0 : packages[entry.resolved]) !== null && _ref1 !== void 0 ? _ref1 : {};
|
|
18
|
-
}
|
|
19
|
-
return entry !== null && entry !== void 0 ? entry : {};
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
//# sourceMappingURL=get-lock-file-entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/package-lock/get-lock-file-entry.ts"],"sourcesContent":["import type { PackageLock } from './types';\n\nexport function getLockFileEntry(lockFile: PackageLock, packageName: string, scope?: string) {\n const { packages } = lockFile;\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":["getLockFileEntry","lockFile","packageName","scope","packages","entry","undefined","link","resolved"],"mappings":";;;;+BAEgBA;;;eAAAA;;;AAAT,SAASA,iBAAiBC,QAAqB,EAAEC,WAAmB,EAAEC,KAAc;QAGlFA;IAFL,MAAM,EAAEC,QAAQ,EAAE,GAAGH;IACrB,MAAMI,SACDF,OAAAA,QAAQC,qBAAAA,+BAAAA,QAAU,CAAC,CAAC,aAAa,EAAED,MAAM,cAAc,EAAED,aAAa,CAAC,GAAGI,uBAA1EH,kBAAAA,OACDC,qBAAAA,+BAAAA,QAAU,CAAC,CAAC,aAAa,EAAEF,aAAa,CAAC;IAE7C,IAAIG,CAAAA,kBAAAA,4BAAAA,MAAOE,IAAI,KAAIF,MAAMG,QAAQ,EAAE;;QAC/B,gBAAOJ,qBAAAA,+BAAAA,QAAU,CAACC,MAAMG,QAAQ,CAAC,yCAAI,CAAC;IAC1C;IAEA,OAAOH,kBAAAA,mBAAAA,QAAS,CAAC;AACrB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-lock-file-version.d.ts","sourceRoot":"","sources":["../../../src/utils/package-lock/get-lock-file-version.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,sBAE5E"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "getLockFileVersion", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return getLockFileVersion;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _getlockfileentry = require("./get-lock-file-entry");
|
|
12
|
-
function getLockFileVersion(lockFile, packageName) {
|
|
13
|
-
return (0, _getlockfileentry.getLockFileEntry)(lockFile, packageName).version;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
//# sourceMappingURL=get-lock-file-version.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/package-lock/get-lock-file-version.ts"],"sourcesContent":["import { getLockFileEntry } from './get-lock-file-entry';\nimport type { PackageLock } from './types';\n\nexport function getLockFileVersion(lockFile: PackageLock, packageName: string) {\n return getLockFileEntry(lockFile, packageName).version;\n}\n"],"names":["getLockFileVersion","lockFile","packageName","getLockFileEntry","version"],"mappings":";;;;+BAGgBA;;;eAAAA;;;kCAHiB;AAG1B,SAASA,mBAAmBC,QAAqB,EAAEC,WAAmB;IACzE,OAAOC,IAAAA,kCAAgB,EAACF,UAAUC,aAAaE,OAAO;AAC1D"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/package-lock/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
_export_star(require("./find-package-lock"), exports);
|
|
6
|
-
_export_star(require("./get-lock-file-entry"), exports);
|
|
7
|
-
_export_star(require("./get-lock-file-version"), exports);
|
|
8
|
-
_export_star(require("./read-package-lock"), exports);
|
|
9
|
-
function _export_star(from, to) {
|
|
10
|
-
Object.keys(from).forEach(function(k) {
|
|
11
|
-
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
|
12
|
-
Object.defineProperty(to, k, {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function() {
|
|
15
|
-
return from[k];
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
return from;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/package-lock/index.ts"],"sourcesContent":["export * from './find-package-lock';\nexport * from './get-lock-file-entry';\nexport * from './get-lock-file-version';\nexport * from './read-package-lock';\nexport type { PackageLock, PackageLockPackages } from './types';\n"],"names":[],"mappings":";;;;qBAAc;qBACA;qBACA;qBACA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"read-package-lock.d.ts","sourceRoot":"","sources":["../../../src/utils/package-lock/read-package-lock.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3C,wBAAgB,eAAe,IAAI,WAAW,CAM7C"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "readPackageLock", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return readPackageLock;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _readjson = require("../read-json");
|
|
12
|
-
const _findpackagelock = require("./find-package-lock");
|
|
13
|
-
let cachedLockFile;
|
|
14
|
-
function readPackageLock() {
|
|
15
|
-
if (!cachedLockFile) {
|
|
16
|
-
const lockFilePath = (0, _findpackagelock.findPackageLock)();
|
|
17
|
-
cachedLockFile = (0, _readjson.readJson)(lockFilePath);
|
|
18
|
-
}
|
|
19
|
-
return cachedLockFile;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
//# sourceMappingURL=read-package-lock.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/package-lock/read-package-lock.ts"],"sourcesContent":["import { readJson } from '../read-json';\nimport { findPackageLock } from './find-package-lock';\nimport type { PackageLock } from './types';\n\nlet cachedLockFile: PackageLock | undefined;\n\nexport function readPackageLock(): PackageLock {\n if (!cachedLockFile) {\n const lockFilePath = findPackageLock();\n cachedLockFile = readJson<PackageLock>(lockFilePath!);\n }\n return cachedLockFile;\n}\n"],"names":["readPackageLock","cachedLockFile","lockFilePath","findPackageLock","readJson"],"mappings":";;;;+BAMgBA;;;eAAAA;;;0BANS;iCACO;AAGhC,IAAIC;AAEG,SAASD;IACZ,IAAI,CAACC,gBAAgB;QACjB,MAAMC,eAAeC,IAAAA,gCAAe;QACpCF,iBAAiBG,IAAAA,kBAAQ,EAAcF;IAC3C;IACA,OAAOD;AACX"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export 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 interface PackageLock {
|
|
10
|
-
packages: PackageLockPackages;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/package-lock/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC7B,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,MAAM,WAAW,WAAW;IACxB,QAAQ,EAAE,mBAAmB,CAAC;CACjC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/package-lock/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { fs, vol } from 'memfs';
|
|
2
|
-
import path from 'node:path';
|
|
3
|
-
import { findPackageLock } from '../find-package-lock';
|
|
4
|
-
|
|
5
|
-
jest.mock('fs', () => fs);
|
|
6
|
-
|
|
7
|
-
describe(`[startup] ${findPackageLock.name}`, () => {
|
|
8
|
-
afterEach(() => vol.reset());
|
|
9
|
-
|
|
10
|
-
const subject = () => findPackageLock();
|
|
11
|
-
|
|
12
|
-
describe('when package-lock.json exists in cwd', () => {
|
|
13
|
-
beforeEach(() => {
|
|
14
|
-
vol.fromJSON({ './package-lock.json': '{}' });
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
test('returns path', () => {
|
|
18
|
-
expect(subject()).toBe(path.resolve('./package-lock.json'));
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
describe('when package-lock.json exists in parent directory', () => {
|
|
23
|
-
beforeEach(() => {
|
|
24
|
-
vol.fromJSON({ '../package-lock.json': '{}' });
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
test('returns path', () => {
|
|
28
|
-
expect(subject()).toBe(path.resolve('../package-lock.json'));
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
test('returns undefined when no package-lock.json exists', () => {
|
|
33
|
-
expect(subject()).toBeUndefined();
|
|
34
|
-
});
|
|
35
|
-
});
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { getLockFileEntry } from '../get-lock-file-entry';
|
|
2
|
-
import type { PackageLock } from '../types';
|
|
3
|
-
|
|
4
|
-
describe(`[startup] ${getLockFileEntry.name}`, () => {
|
|
5
|
-
let lockFile: PackageLock;
|
|
6
|
-
let packageName: string;
|
|
7
|
-
let scope: string | undefined;
|
|
8
|
-
|
|
9
|
-
beforeEach(() => {
|
|
10
|
-
lockFile = { packages: {} };
|
|
11
|
-
packageName = 'foo';
|
|
12
|
-
scope = undefined;
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
const subject = () => getLockFileEntry(lockFile, packageName, scope);
|
|
16
|
-
|
|
17
|
-
const itReturnsEmptyObject = () => {
|
|
18
|
-
test('returns empty object', () => {
|
|
19
|
-
expect(subject()).toEqual({});
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
describe('when package exists at top level', () => {
|
|
24
|
-
const topLevelEntry = { version: '1.0.0' };
|
|
25
|
-
|
|
26
|
-
beforeEach(() => {
|
|
27
|
-
lockFile.packages['node_modules/foo'] = topLevelEntry;
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
test('resolves the entry', () => {
|
|
31
|
-
expect(subject()).toEqual(topLevelEntry);
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
describe('when package exists both at top level and under a scope', () => {
|
|
36
|
-
const topLevelEntry = { version: '1.0.0' };
|
|
37
|
-
const scopedEntry = { version: '2.0.0' };
|
|
38
|
-
|
|
39
|
-
beforeEach(() => {
|
|
40
|
-
lockFile.packages['node_modules/foo'] = topLevelEntry;
|
|
41
|
-
lockFile.packages['node_modules/parent/node_modules/foo'] = scopedEntry;
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
describe('when scope is provided', () => {
|
|
45
|
-
beforeEach(() => {
|
|
46
|
-
scope = 'parent';
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
test('resolves scoped entry', () => {
|
|
50
|
-
expect(subject()).toEqual(scopedEntry);
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
test('resolves top-level entry', () => {
|
|
55
|
-
expect(subject()).toEqual(topLevelEntry);
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
describe('when package has dependencies and peerDependencies', () => {
|
|
60
|
-
const entryWithDeps = {
|
|
61
|
-
version: '1.0.0',
|
|
62
|
-
dependencies: { bar: '^1.0.0' },
|
|
63
|
-
peerDependencies: { baz: '>=2.0.0' },
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
beforeEach(() => {
|
|
67
|
-
lockFile.packages['node_modules/foo'] = entryWithDeps;
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
test('returns the full entry', () => {
|
|
71
|
-
expect(subject()).toEqual(entryWithDeps);
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
describe('when package is a linked workspace package', () => {
|
|
76
|
-
const linkedResolvedEntry = { version: '3.0.0' };
|
|
77
|
-
|
|
78
|
-
beforeEach(() => {
|
|
79
|
-
lockFile.packages['node_modules/foo'] = { link: true, resolved: 'packages/foo' };
|
|
80
|
-
lockFile.packages['packages/foo'] = linkedResolvedEntry;
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
test('follows link to resolved path', () => {
|
|
84
|
-
expect(subject()).toEqual(linkedResolvedEntry);
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
describe('when resolved entry does not exist', () => {
|
|
88
|
-
beforeEach(() => {
|
|
89
|
-
delete lockFile.packages['packages/foo'];
|
|
90
|
-
});
|
|
91
|
-
|
|
92
|
-
itReturnsEmptyObject();
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
itReturnsEmptyObject();
|
|
97
|
-
});
|