From ffae91159392d4c57a2112e5d76282a552f9c9af Mon Sep 17 00:00:00 2001 From: James Garbutt <43081j@users.noreply.github.com> Date: Tue, 6 May 2025 13:21:56 +0100 Subject: [PATCH] perf(addons): switch to empathic for upwards FS traversal Switches to `empathic` for finding parent files, a much faster library. Part of consolidating every `find-*` dependency into just one. --- code/addons/vitest/package.json | 2 +- code/addons/vitest/src/node/vitest-manager.ts | 4 ++-- code/addons/vitest/src/postinstall.ts | 2 +- code/yarn.lock | 9 ++++++++- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/code/addons/vitest/package.json b/code/addons/vitest/package.json index eecd932415da..ff341ec35c2c 100644 --- a/code/addons/vitest/package.json +++ b/code/addons/vitest/package.json @@ -102,9 +102,9 @@ "@vitest/browser": "^3.1.1", "@vitest/runner": "^3.1.1", "boxen": "^8.0.1", + "empathic": "^1.1.0", "es-toolkit": "^1.36.0", "execa": "^8.0.1", - "find-up": "^7.0.0", "istanbul-lib-report": "^3.0.1", "pathe": "^1.1.2", "picocolors": "^1.1.0", diff --git a/code/addons/vitest/src/node/vitest-manager.ts b/code/addons/vitest/src/node/vitest-manager.ts index b24eea05f99d..4c36ec7a4831 100644 --- a/code/addons/vitest/src/node/vitest-manager.ts +++ b/code/addons/vitest/src/node/vitest-manager.ts @@ -17,7 +17,7 @@ import type { StoryIndexEntry, } from 'storybook/internal/types'; -import { findUp } from 'find-up'; +import { any as findUp } from 'empathic/find'; import path, { dirname, join, normalize } from 'pathe'; import slash from 'slash'; @@ -76,7 +76,7 @@ export class VitestManager { : { enabled: false } ) as CoverageOptions; - const vitestWorkspaceConfig = await findUp([ + const vitestWorkspaceConfig = findUp([ ...VITEST_WORKSPACE_FILE_EXTENSION.map((ext) => `vitest.workspace.${ext}`), ...VITEST_CONFIG_FILE_EXTENSIONS.map((ext) => `vitest.config.${ext}`), ]); diff --git a/code/addons/vitest/src/postinstall.ts b/code/addons/vitest/src/postinstall.ts index 979fac62a47d..bcafc30a74e2 100644 --- a/code/addons/vitest/src/postinstall.ts +++ b/code/addons/vitest/src/postinstall.ts @@ -18,9 +18,9 @@ import { import { readConfig, writeConfig } from 'storybook/internal/csf-tools'; import { colors, logger } from 'storybook/internal/node-logger'; +import { any as findUp } from 'empathic/find'; // eslint-disable-next-line depend/ban-dependencies import { $ } from 'execa'; -import { findUp } from 'find-up'; import { dirname, extname, join, relative, resolve } from 'pathe'; import picocolors from 'picocolors'; import prompts from 'prompts'; diff --git a/code/yarn.lock b/code/yarn.lock index bcf38043f23d..2a970be97f1b 100644 --- a/code/yarn.lock +++ b/code/yarn.lock @@ -6023,9 +6023,9 @@ __metadata: "@vitest/browser": "npm:^3.1.1" "@vitest/runner": "npm:^3.1.1" boxen: "npm:^8.0.1" + empathic: "npm:^1.1.0" es-toolkit: "npm:^1.36.0" execa: "npm:^8.0.1" - find-up: "npm:^7.0.0" istanbul-lib-report: "npm:^3.0.1" pathe: "npm:^1.1.2" picocolors: "npm:^1.1.0" @@ -12966,6 +12966,13 @@ __metadata: languageName: node linkType: hard +"empathic@npm:^1.1.0": + version: 1.1.0 + resolution: "empathic@npm:1.1.0" + checksum: 10c0/ed906c4ad6dabe1477ed00d6420f79eff8ac72e2eb580aab42406f50160fd34d66e8381e92b405e96d75a826a840706af261fd397c3e7db4d1a293d23e2e72f7 + languageName: node + linkType: hard + "encodeurl@npm:~1.0.2": version: 1.0.2 resolution: "encodeurl@npm:1.0.2"