Skip to content

Commit 9b5cda4

Browse files
author
余腾靖
authored
Merge pull request #3 from tjx666/dev
2 parents 4bc14d2 + cbb11e9 commit 9b5cda4

File tree

3 files changed

+13
-36
lines changed

3 files changed

+13
-36
lines changed

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@
6969
"dependencies": {
7070
"@rollup/pluginutils": "^5.0.2",
7171
"consola": "^3.1.0",
72-
"mem": "^9.0.2",
7372
"p-memoize": "^7.1.1",
7473
"picocolors": "^1.0.0",
7574
"semver": "^7.5.1",

pnpm-lock.yaml

Lines changed: 0 additions & 23 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/index.ts

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import path from 'node:path';
33

44
import { normalizePath } from '@rollup/pluginutils';
55
import consola from 'consola';
6-
import mem from 'mem';
76
import pMemoize from 'p-memoize';
87
import c from 'picocolors';
98
import { gt } from 'semver';
@@ -13,16 +12,20 @@ import { workspaceRoot } from 'workspace-root';
1312

1413
export interface Options {}
1514

16-
let workspaceRootFolder = await workspaceRoot();
17-
if (workspaceRootFolder) {
18-
workspaceRootFolder = normalizePath(workspaceRootFolder);
19-
}
15+
const getWorkspaceRootFolder = pMemoize(async () => {
16+
let workspaceRootFolder = await workspaceRoot();
17+
if (workspaceRootFolder) {
18+
workspaceRootFolder = normalizePath(workspaceRootFolder);
19+
}
20+
return workspaceRootFolder;
21+
});
2022

21-
const parsePackageNameFromModulePath = mem((id: string) => {
23+
const parsePackageNameFromModulePath = pMemoize(async (id: string) => {
2224
id = normalizePath(id);
2325
const packageNameRegex = /.*\/node_modules\/((?:@[^/]+\/)?[^/]+)/;
2426
const match = id.match(packageNameRegex);
2527
const packageName = match ? match[1] : id;
28+
const workspaceRootFolder = await getWorkspaceRootFolder();
2629
if (workspaceRootFolder && packageName.startsWith(workspaceRootFolder)) {
2730
return packageName.slice(workspaceRootFolder.length + 1);
2831
}
@@ -75,19 +78,17 @@ export default createUnplugin<Options | undefined>(() => {
7578
if (packageInfo) {
7679
const { name, version } = packageInfo;
7780
const existedVersionsMap = packageToVersionsMap.get(name);
81+
const importerPackage = await parsePackageNameFromModulePath(importer);
7882
if (existedVersionsMap) {
7983
const existedImporters = existedVersionsMap.get(version);
8084
if (existedImporters) {
81-
existedImporters.add(parsePackageNameFromModulePath(importer));
85+
existedImporters.add(importerPackage);
8286
} else {
83-
existedVersionsMap.set(
84-
version,
85-
new Set([parsePackageNameFromModulePath(importer)]),
86-
);
87+
existedVersionsMap.set(version, new Set([importerPackage]));
8788
}
8889
} else {
8990
const versionMap = new Map<string, Set<string>>([
90-
[version, new Set([parsePackageNameFromModulePath(importer)])],
91+
[version, new Set([importerPackage])],
9192
]);
9293
packageToVersionsMap.set(name, versionMap);
9394
}

0 commit comments

Comments
 (0)