@xemahq/repo-build-tooling 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xemahq/repo-build-tooling",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Dev-time build tooling shared by every Xema repository. Ships as plain ESM with zero dependencies so the published artifact is the reviewed source.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Neuralchowder Inc. <developer@xema.dev> (https://xema.dev)",
|
|
@@ -322,8 +322,16 @@ function reExportsReach(entry, target, depth = 6, seen = new Set()) {
|
|
|
322
322
|
* @param {string} subpath physical path inside the package, e.g. `dist/agent-composition/lib/x`
|
|
323
323
|
* @param {string} original the full leaked specifier, for the proof and the error
|
|
324
324
|
*/
|
|
325
|
+
// NUL is the separator in the cache key because it cannot occur in a package
|
|
326
|
+
// name or a subpath, so no two distinct specifiers can collide on a
|
|
327
|
+
// concatenation. It MUST stay spelled as the unicode ESCAPE, never as a raw NUL
|
|
328
|
+
// byte in the source: one raw byte makes every binary-skipping search tool
|
|
329
|
+
// (ugrep, ripgrep, `grep -I`) classify the WHOLE file as binary and skip it
|
|
330
|
+
// silently, and a file no search can read is a file no audit, no review and no
|
|
331
|
+
// boundary check covers. Enforced by the aggregator boundary gate
|
|
332
|
+
// `grep-readable-sources`.
|
|
325
333
|
function publicSpecifierFor(resolveFrom, pkg, subpath, original) {
|
|
326
|
-
const cacheKey = `${pkg}
|
|
334
|
+
const cacheKey = `${pkg}\u0000${subpath}`;
|
|
327
335
|
if (specifierCache.has(cacheKey)) return specifierCache.get(cacheKey);
|
|
328
336
|
|
|
329
337
|
let target;
|