@ms-cloudpack/package-hashes 0.8.48 → 0.8.51
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.map +1 -1
- package/lib/hashPackage.js +4 -2
- package/lib/hashPackage.js.map +1 -1
- package/package.json +4 -4
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;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;AAE9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAItE;;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;QACnD,0CAA0C;QAC1C,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,uCAAuC;QACvC,WAAW,EAAE,WAAW,CAAC;QACzB,+CAA+C;QAC/C,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC;KAC1B,CAAC;CACH,GAAG,OAAO,CAAC,MAAM,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;AAE9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAItE;;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;QACnD,0CAA0C;QAC1C,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,uCAAuC;QACvC,WAAW,EAAE,WAAW,CAAC;QACzB,+CAA+C;QAC/C,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC;KAC1B,CAAC;CACH,GAAG,OAAO,CAAC,MAAM,CAAC,CA8ClB"}
|
package/lib/hashPackage.js
CHANGED
|
@@ -12,12 +12,14 @@ export async function hashPackage(params) {
|
|
|
12
12
|
const { packagePath, ...hashOptions } = input;
|
|
13
13
|
const { resolveMap } = context;
|
|
14
14
|
const hashEntriesArray = [];
|
|
15
|
+
const visitedPaths = new Set();
|
|
15
16
|
const packagesToHash = [packagePath];
|
|
16
17
|
while (packagesToHash.length > 0) {
|
|
17
18
|
const packageToHash = packagesToHash.pop();
|
|
18
|
-
if (!packageToHash) {
|
|
19
|
+
if (!packageToHash || visitedPaths.has(packageToHash)) {
|
|
19
20
|
continue;
|
|
20
21
|
}
|
|
22
|
+
visitedPaths.add(packageToHash);
|
|
21
23
|
const hashEntries = await getPackageHashEntries({
|
|
22
24
|
options: { ...hashOptions, packagePath: packageToHash },
|
|
23
25
|
context,
|
|
@@ -25,7 +27,7 @@ export async function hashPackage(params) {
|
|
|
25
27
|
hashEntriesArray.push(hashEntries);
|
|
26
28
|
for (const dependency of hashEntries.packageSettings.inlinedDependencies || []) {
|
|
27
29
|
const entry = findResolveMapEntry({ packageName: dependency, resolveMap, definition: hashEntries });
|
|
28
|
-
if (entry) {
|
|
30
|
+
if (entry && !visitedPaths.has(entry.path)) {
|
|
29
31
|
packagesToHash.push(entry.path);
|
|
30
32
|
}
|
|
31
33
|
}
|
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;AAE5F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAGtE,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAcjC;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,
|
|
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;AAGtE,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAcjC;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,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,cAAc,GAAG,CAAC,WAAW,CAAC,CAAC;IAErC,OAAO,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC;QAC3C,IAAI,CAAC,aAAa,IAAI,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACtD,SAAS;QACX,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAEhC,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,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3C,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';\nimport type { DefineFlags } from '@ms-cloudpack/common-types-browser';\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 /** Default bundler from the app config */\n defaultBundler: string | undefined;\n /** Define flags from the app config */\n defineFlags: DefineFlags;\n /** Whether HMR is enabled in the app config */\n hmr: boolean | undefined;\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 visitedPaths = new Set<string>();\n const packagesToHash = [packagePath];\n\n while (packagesToHash.length > 0) {\n const packageToHash = packagesToHash.pop();\n if (!packageToHash || visitedPaths.has(packageToHash)) {\n continue;\n }\n visitedPaths.add(packageToHash);\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 && !visitedPaths.has(entry.path)) {\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.8.
|
|
3
|
+
"version": "0.8.51",
|
|
4
4
|
"description": "Utilities for hashing packages in Cloudpack",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@ms-cloudpack/common-types": "^0.33.2",
|
|
28
28
|
"@ms-cloudpack/common-types-browser": "^0.6.5",
|
|
29
|
-
"@ms-cloudpack/config": "^0.38.
|
|
30
|
-
"@ms-cloudpack/package-utilities": "^13.2
|
|
29
|
+
"@ms-cloudpack/config": "^0.38.26",
|
|
30
|
+
"@ms-cloudpack/package-utilities": "^13.3.2",
|
|
31
31
|
"@ms-cloudpack/path-string-parsing": "^1.3.0",
|
|
32
|
-
"@ms-cloudpack/path-utilities": "^3.2.
|
|
32
|
+
"@ms-cloudpack/path-utilities": "^3.2.5",
|
|
33
33
|
"glob-hasher": "^1.4.2",
|
|
34
34
|
"object-hash": "^3.0.0",
|
|
35
35
|
"tinyglobby": "^0.2.13"
|