@ms-cloudpack/package-hashes 0.7.28 → 0.7.29
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/lib/hashPackage.d.ts +3 -0
- package/lib/hashPackage.d.ts.map +1 -1
- package/lib/hashPackage.js +13 -15
- package/lib/hashPackage.js.map +1 -1
- package/package.json +5 -5
- package/lib/getInlinedDependenciesPaths.d.ts +0 -12
- package/lib/getInlinedDependenciesPaths.d.ts.map +0 -1
- package/lib/getInlinedDependenciesPaths.js +0 -19
- package/lib/getInlinedDependenciesPaths.js.map +0 -1
package/lib/hashPackage.d.ts
CHANGED
|
@@ -2,6 +2,9 @@ import type { PackageDefinitionsCache, ResolveMap } from '@ms-cloudpack/common-t
|
|
|
2
2
|
import type { PackagePatchesCache } from './PackagePatchesCache.js';
|
|
3
3
|
import type { HashFunctionOptions } from './types/HashFunction.js';
|
|
4
4
|
import type { BundlerCapabilitiesCache } from './BundlerCapabilitiesCache.js';
|
|
5
|
+
/**
|
|
6
|
+
* Calculate the hash for a package and its inlined dependencies.
|
|
7
|
+
*/
|
|
5
8
|
export declare function hashPackage(params: {
|
|
6
9
|
input: HashFunctionOptions;
|
|
7
10
|
context: {
|
package/lib/hashPackage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hashPackage.d.ts","sourceRoot":"","sources":["../src/hashPackage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"hashPackage.d.ts","sourceRoot":"","sources":["../src/hashPackage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGtF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAK9E;;GAEG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE;IACxC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,OAAO,EAAE;QACP,QAAQ,EAAE,uBAAuB,CAAC;QAClC,UAAU,EAAE,UAAU,CAAC;QACvB,OAAO,EAAE,mBAAmB,CAAC;QAC7B,wBAAwB,EAAE,wBAAwB,CAAC;KACpD,CAAC;CACH,GAAG,OAAO,CAAC,MAAM,CAAC,CA4ClB"}
|
package/lib/hashPackage.js
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import objectHash from 'object-hash';
|
|
2
2
|
import { getPackageHashEntries } from './getPackageHashEntries.js';
|
|
3
|
-
import { getInlinedDependenciesPaths } from './getInlinedDependenciesPaths.js';
|
|
4
3
|
import { hashVersion } from './hashVersion.js';
|
|
4
|
+
import { findResolveMapEntry } from '@ms-cloudpack/package-utilities';
|
|
5
5
|
let totalTime = 0;
|
|
6
|
+
/**
|
|
7
|
+
* Calculate the hash for a package and its inlined dependencies.
|
|
8
|
+
*/
|
|
6
9
|
export async function hashPackage(params) {
|
|
7
10
|
const start = performance.now();
|
|
8
11
|
const { input, context } = params;
|
|
9
|
-
const { packagePath,
|
|
10
|
-
const { resolveMap
|
|
12
|
+
const { packagePath, ...hashOptions } = input;
|
|
13
|
+
const { resolveMap } = context;
|
|
11
14
|
const hashEntriesArray = [];
|
|
12
15
|
const packagesToHash = [packagePath];
|
|
13
16
|
while (packagesToHash.length > 0) {
|
|
@@ -16,20 +19,15 @@ export async function hashPackage(params) {
|
|
|
16
19
|
continue;
|
|
17
20
|
}
|
|
18
21
|
const hashEntries = await getPackageHashEntries({
|
|
19
|
-
options: {
|
|
20
|
-
context
|
|
22
|
+
options: { ...hashOptions, packagePath: packageToHash },
|
|
23
|
+
context,
|
|
21
24
|
});
|
|
22
25
|
hashEntriesArray.push(hashEntries);
|
|
23
|
-
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
inlinedDependencies: hashEntries.packageSettings.inlinedDependencies,
|
|
29
|
-
},
|
|
30
|
-
context: { resolveMap },
|
|
31
|
-
});
|
|
32
|
-
packagesToHash.push(...inlinedDependenciesPaths);
|
|
26
|
+
for (const dependency of hashEntries.packageSettings.inlinedDependencies || []) {
|
|
27
|
+
const entry = findResolveMapEntry({ packageName: dependency, resolveMap, definition: hashEntries });
|
|
28
|
+
if (entry) {
|
|
29
|
+
packagesToHash.push(entry.path);
|
|
30
|
+
}
|
|
33
31
|
}
|
|
34
32
|
}
|
|
35
33
|
const hashResult = objectHash(hashEntriesArray, {
|
package/lib/hashPackage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hashPackage.js","sourceRoot":"","sources":["../src/hashPackage.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAA2B,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"hashPackage.js","sourceRoot":"","sources":["../src/hashPackage.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAA2B,MAAM,4BAA4B,CAAC;AAE5F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAQjC;IACC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAClC,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9C,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAE/B,MAAM,gBAAgB,GAAyB,EAAE,CAAC;IAClD,MAAM,cAAc,GAAa,CAAC,WAAW,CAAC,CAAC;IAE/C,OAAO,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC;QAC3C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,SAAS;QACX,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC;YAC9C,OAAO,EAAE,EAAE,GAAG,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE;YACvD,OAAO;SACR,CAAC,CAAC;QAEH,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEnC,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,eAAe,CAAC,mBAAmB,IAAI,EAAE,EAAE,CAAC;YAC/E,MAAM,KAAK,GAAG,mBAAmB,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;YACpG,IAAI,KAAK,EAAE,CAAC;gBACV,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,UAAU,CAAC,gBAAgB,EAAE;QAC9C,WAAW,EAAE,KAAK;QAClB,eAAe,EAAE,IAAI;QACrB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;IAC9C,SAAS,IAAI,WAAW,CAAC;IACzB,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,OAAO,OAAO,WAAW,mBAAmB,SAAS,IAAI,CAAC,CAAC;IAE3F,OAAO,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;AACzC,CAAC","sourcesContent":["import type { PackageDefinitionsCache, ResolveMap } from '@ms-cloudpack/common-types';\nimport objectHash from 'object-hash';\nimport { getPackageHashEntries, type PackageHashEntries } from './getPackageHashEntries.js';\nimport type { PackagePatchesCache } from './PackagePatchesCache.js';\nimport { hashVersion } from './hashVersion.js';\nimport type { HashFunctionOptions } from './types/HashFunction.js';\nimport type { BundlerCapabilitiesCache } from './BundlerCapabilitiesCache.js';\nimport { findResolveMapEntry } from '@ms-cloudpack/package-utilities';\n\nlet totalTime = 0;\n\n/**\n * Calculate the hash for a package and its inlined dependencies.\n */\nexport async function hashPackage(params: {\n input: HashFunctionOptions;\n context: {\n packages: PackageDefinitionsCache;\n resolveMap: ResolveMap;\n patches: PackagePatchesCache;\n bundlerCapabilitiesCache: BundlerCapabilitiesCache;\n };\n}): Promise<string> {\n const start = performance.now();\n const { input, context } = params;\n const { packagePath, ...hashOptions } = input;\n const { resolveMap } = context;\n\n const hashEntriesArray: PackageHashEntries[] = [];\n const packagesToHash: string[] = [packagePath];\n\n while (packagesToHash.length > 0) {\n const packageToHash = packagesToHash.pop();\n if (!packageToHash) {\n continue;\n }\n\n const hashEntries = await getPackageHashEntries({\n options: { ...hashOptions, packagePath: packageToHash },\n context,\n });\n\n hashEntriesArray.push(hashEntries);\n\n for (const dependency of hashEntries.packageSettings.inlinedDependencies || []) {\n const entry = findResolveMapEntry({ packageName: dependency, resolveMap, definition: hashEntries });\n if (entry) {\n packagesToHash.push(entry.path);\n }\n }\n }\n\n const hashResult = objectHash(hashEntriesArray, {\n respectType: false,\n unorderedArrays: true,\n unorderedSets: true,\n unorderedObjects: true,\n ignoreUnknown: true,\n });\n\n const { name, version } = hashEntriesArray[0];\n const elapsedTime = performance.now() - start;\n totalTime += elapsedTime;\n console.debug(`Hashed ${name}@${version} in ${elapsedTime}ms, total time: ${totalTime}ms`);\n\n return `v${hashVersion}-${hashResult}`;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ms-cloudpack/package-hashes",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.29",
|
|
4
4
|
"description": "Utilities for hashing packages.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@ms-cloudpack/common-types": "^0.24.
|
|
18
|
-
"@ms-cloudpack/config": "^0.33.
|
|
19
|
-
"@ms-cloudpack/package-utilities": "^11.3.
|
|
17
|
+
"@ms-cloudpack/common-types": "^0.24.8",
|
|
18
|
+
"@ms-cloudpack/config": "^0.33.17",
|
|
19
|
+
"@ms-cloudpack/package-utilities": "^11.3.5",
|
|
20
20
|
"@ms-cloudpack/path-string-parsing": "^1.2.6",
|
|
21
|
-
"@ms-cloudpack/path-utilities": "^3.0.
|
|
21
|
+
"@ms-cloudpack/path-utilities": "^3.0.5",
|
|
22
22
|
"fast-glob": "^3.2.12",
|
|
23
23
|
"glob-hasher": "^1.4.2",
|
|
24
24
|
"object-hash": "^3.0.0"
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { PackageJson, ResolveMap } from '@ms-cloudpack/common-types';
|
|
2
|
-
export declare function getInlinedDependenciesPaths(params: {
|
|
3
|
-
options: {
|
|
4
|
-
packageName: string;
|
|
5
|
-
definition: PackageJson;
|
|
6
|
-
inlinedDependencies: string[];
|
|
7
|
-
};
|
|
8
|
-
context: {
|
|
9
|
-
resolveMap: ResolveMap;
|
|
10
|
-
};
|
|
11
|
-
}): string[];
|
|
12
|
-
//# sourceMappingURL=getInlinedDependenciesPaths.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getInlinedDependenciesPaths.d.ts","sourceRoot":"","sources":["../src/getInlinedDependenciesPaths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAG1E,wBAAgB,2BAA2B,CAAC,MAAM,EAAE;IAClD,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,WAAW,CAAC;QACxB,mBAAmB,EAAE,MAAM,EAAE,CAAC;KAC/B,CAAC;IACF,OAAO,EAAE;QACP,UAAU,EAAE,UAAU,CAAC;KACxB,CAAC;CACH,GAAG,MAAM,EAAE,CAqBX"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { findResolveMapEntry } from '@ms-cloudpack/package-utilities';
|
|
2
|
-
export function getInlinedDependenciesPaths(params) {
|
|
3
|
-
const { options, context } = params;
|
|
4
|
-
const { definition, inlinedDependencies } = options;
|
|
5
|
-
const { resolveMap } = context;
|
|
6
|
-
const result = [];
|
|
7
|
-
const inlinedDependencyEntries = inlinedDependencies.map((dependency) => findResolveMapEntry({
|
|
8
|
-
packageName: dependency,
|
|
9
|
-
resolveMap,
|
|
10
|
-
definition,
|
|
11
|
-
}));
|
|
12
|
-
for (const inlinedDependencyEntry of inlinedDependencyEntries) {
|
|
13
|
-
if (inlinedDependencyEntry) {
|
|
14
|
-
result.push(inlinedDependencyEntry.path);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
return result;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=getInlinedDependenciesPaths.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getInlinedDependenciesPaths.js","sourceRoot":"","sources":["../src/getInlinedDependenciesPaths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,MAAM,UAAU,2BAA2B,CAAC,MAS3C;IACC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IACpC,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC;IACpD,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAE/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,wBAAwB,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CACtE,mBAAmB,CAAC;QAClB,WAAW,EAAE,UAAU;QACvB,UAAU;QACV,UAAU;KACX,CAAC,CACH,CAAC;IAEF,KAAK,MAAM,sBAAsB,IAAI,wBAAwB,EAAE,CAAC;QAC9D,IAAI,sBAAsB,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import type { PackageJson, ResolveMap } from '@ms-cloudpack/common-types';\nimport { findResolveMapEntry } from '@ms-cloudpack/package-utilities';\n\nexport function getInlinedDependenciesPaths(params: {\n options: {\n packageName: string;\n definition: PackageJson;\n inlinedDependencies: string[];\n };\n context: {\n resolveMap: ResolveMap;\n };\n}): string[] {\n const { options, context } = params;\n const { definition, inlinedDependencies } = options;\n const { resolveMap } = context;\n\n const result: string[] = [];\n const inlinedDependencyEntries = inlinedDependencies.map((dependency) =>\n findResolveMapEntry({\n packageName: dependency,\n resolveMap,\n definition,\n }),\n );\n\n for (const inlinedDependencyEntry of inlinedDependencyEntries) {\n if (inlinedDependencyEntry) {\n result.push(inlinedDependencyEntry.path);\n }\n }\n\n return result;\n}\n"]}
|