🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@vitest/utils

Package Overview
Dependencies
Maintainers
5
Versions
200
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vitest/utils - npm Package Compare versions

Comparing version
5.0.0-beta.6
to
5.0.0-beta.7
+1
display.d.ts
export * from './dist/display.js'
export * from './dist/timers.js'
+13
-1

@@ -155,3 +155,15 @@ const _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//;

};
const basename = function(p, extension) {
const segments = normalizeWindowsPath(p).split("/");
let lastSegment = "";
for (let i = segments.length - 1; i >= 0; i--) {
const val = segments[i];
if (val) {
lastSegment = val;
break;
}
}
return extension && lastSegment.endsWith(extension) ? lastSegment.slice(0, -extension.length) : lastSegment;
};
export { dirname as d, join as j, resolve as r };
export { basename as b, dirname as d, join as j, resolve as r };
+2
-6

@@ -1,7 +0,3 @@

declare function findNearestPackageData(basedir: string): {
type?: "module" | "commonjs";
};
declare function getCachedData<T>(cache: Map<string, T>, basedir: string, originalBasedir: string): NonNullable<T> | undefined;
declare function setCacheData<T>(cache: Map<string, T>, data: T, basedir: string, originalBasedir: string): void;
declare function lookupPackageScopeType(directory: string): "cjs" | "esm" | "none";
export { findNearestPackageData, getCachedData, setCacheData };
export { lookupPackageScopeType };
import fs from 'node:fs';
import { j as join, d as dirname } from './chunk-pathe.M-eThtNZ.js';
import { b as basename, j as join, d as dirname } from './chunk-pathe.M-eThtNZ.js';
const packageCache = new Map();
function findNearestPackageData(basedir) {
const originalBasedir = basedir;
while (basedir) {
const cached = getCachedData(packageCache, basedir, originalBasedir);
const packageScopeTypeCache = new Map();
// mirrors LOOKUP_PACKAGE_SCOPE from the ESM resolution algorithm:
// the lookup stops at the first package.json and never crosses
// the "node_modules" boundary, so typeless dependencies don't
// inherit the `type` field of the user's project
function lookupPackageScopeType(directory) {
const visited = [];
let result = "none";
let current = directory;
while (current) {
const cached = packageScopeTypeCache.get(current);
if (cached) {
return cached;
result = cached;
break;
}
const pkgPath = join(basedir, "package.json");
if (tryStatSync(pkgPath)?.isFile()) {
const pkgData = JSON.parse(stripBomTag(fs.readFileSync(pkgPath, "utf8")));
if (packageCache) {
setCacheData(packageCache, pkgData, basedir, originalBasedir);
}
return pkgData;
if (basename(current) === "node_modules") {
break;
}
const nextBasedir = dirname(basedir);
if (nextBasedir === basedir) {
visited.push(current);
const packageJsonPath = join(current, "package.json");
if (tryStatSync(packageJsonPath)?.isFile()) {
try {
const packageJson = JSON.parse(stripBomTag(fs.readFileSync(packageJsonPath, "utf8")));
if (packageJson.type === "module") {
result = "esm";
} else if (packageJson.type === "commonjs") {
result = "cjs";
}
} catch {}
break;
}
basedir = nextBasedir;
const parent = dirname(current);
if (parent === current) {
break;
}
current = parent;
}
return {};
visited.forEach((dir) => packageScopeTypeCache.set(dir, result));
return result;
}

@@ -40,32 +56,3 @@ function stripBomTag(content) {

}
function getCachedData(cache, basedir, originalBasedir) {
const pkgData = cache.get(getFnpdCacheKey(basedir));
if (pkgData) {
traverseBetweenDirs(originalBasedir, basedir, (dir) => {
cache.set(getFnpdCacheKey(dir), pkgData);
});
return pkgData;
}
}
function setCacheData(cache, data, basedir, originalBasedir) {
cache.set(getFnpdCacheKey(basedir), data);
traverseBetweenDirs(originalBasedir, basedir, (dir) => {
cache.set(getFnpdCacheKey(dir), data);
});
}
function getFnpdCacheKey(basedir) {
return `fnpd_${basedir}`;
}
/**
* Traverse between `longerDir` (inclusive) and `shorterDir` (exclusive) and call `cb` for each dir.
* @param longerDir Longer dir path, e.g. `/User/foo/bar/baz`
* @param shorterDir Shorter dir path, e.g. `/User/foo`
*/
function traverseBetweenDirs(longerDir, shorterDir, cb) {
while (longerDir !== shorterDir) {
cb(longerDir);
longerDir = dirname(longerDir);
}
}
export { findNearestPackageData, getCachedData, setCacheData };
export { lookupPackageScopeType };

@@ -239,3 +239,4 @@ import { isPrimitive, notNullish } from './helpers.js';

"/@id/__x00__vitest/browser",
/\/deps\/vitest_/
/\/deps\/vitest_/,
"/deps/vitest.js"
];

@@ -399,3 +400,9 @@ const NOW_LENGTH = Date.now().toString().length;

const traceMap = new DecodedMap(map, stack.file);
const position = getOriginalPosition(traceMap, stack);
if (stack.line <= 0 || stack.column <= 0) {
return stack;
}
const position = getOriginalPosition(traceMap, {
line: stack.line,
column: stack.column - 1
});
if (!position) {

@@ -415,3 +422,3 @@ return stack;

line,
column,
column: column + 1,
file,

@@ -418,0 +425,0 @@ method: name || stack.method

{
"name": "@vitest/utils",
"type": "module",
"version": "5.0.0-beta.6",
"version": "5.0.0-beta.7",
"description": "Shared Vitest utility functions",

@@ -20,2 +20,3 @@ "license": "MIT",

".": {
"__vitest_source__": "./src/index.ts",
"types": "./dist/index.d.ts",

@@ -25,2 +26,3 @@ "default": "./dist/index.js"

"./diff": {
"__vitest_source__": "./src/diff/index.ts",
"types": "./dist/diff.d.ts",

@@ -30,2 +32,3 @@ "default": "./dist/diff.js"

"./resolver": {
"__vitest_source__": "./src/resolver.ts",
"types": "./dist/resolver.d.ts",

@@ -35,2 +38,3 @@ "default": "./dist/resolver.js"

"./error": {
"__vitest_source__": "./src/error.ts",
"types": "./dist/error.d.ts",

@@ -40,2 +44,3 @@ "default": "./dist/error.js"

"./helpers": {
"__vitest_source__": "./src/helpers.ts",
"types": "./dist/helpers.d.ts",

@@ -45,2 +50,3 @@ "default": "./dist/helpers.js"

"./offset": {
"__vitest_source__": "./src/offset.ts",
"types": "./dist/offset.d.ts",

@@ -50,2 +56,3 @@ "default": "./dist/offset.js"

"./constants": {
"__vitest_source__": "./src/constants.ts",
"types": "./dist/constants.d.ts",

@@ -55,2 +62,3 @@ "default": "./dist/constants.js"

"./timers": {
"__vitest_source__": "./src/timers.ts",
"types": "./dist/timers.d.ts",

@@ -60,2 +68,3 @@ "default": "./dist/timers.js"

"./display": {
"__vitest_source__": "./src/display.ts",
"types": "./dist/display.d.ts",

@@ -65,2 +74,3 @@ "default": "./dist/display.js"

"./source-map": {
"__vitest_source__": "./src/source-map.ts",
"types": "./dist/source-map.d.ts",

@@ -70,2 +80,3 @@ "default": "./dist/source-map.js"

"./source-map/node": {
"__vitest_source__": "./src/source-map/node.ts",
"types": "./dist/source-map/node.d.ts",

@@ -75,6 +86,7 @@ "default": "./dist/source-map/node.js"

"./serialize": {
"__vitest_source__": "./src/serialize.ts",
"types": "./dist/serialize.d.ts",
"default": "./dist/serialize.js"
},
"./*": "./*"
"./package.json": "./package.json"
},

@@ -101,3 +113,3 @@ "main": "./dist/index.js",

"tinyrainbow": "^3.1.0",
"@vitest/pretty-format": "5.0.0-beta.6"
"@vitest/pretty-format": "5.0.0-beta.7"
},

@@ -104,0 +116,0 @@ "devDependencies": {