Skip to content

Commit

Permalink
fix: top await can't use in cjs #2
Browse files Browse the repository at this point in the history
  • Loading branch information
changfeng committed May 31, 2023
1 parent 0c131ed commit cbb11e9
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 36 deletions.
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@
"dependencies": {
"@rollup/pluginutils": "^5.0.2",
"consola": "^3.1.0",
"mem": "^9.0.2",
"p-memoize": "^7.1.1",
"picocolors": "^1.0.0",
"semver": "^7.5.1",
Expand Down
23 changes: 0 additions & 23 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

25 changes: 13 additions & 12 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import path from 'node:path';

import { normalizePath } from '@rollup/pluginutils';
import consola from 'consola';
import mem from 'mem';
import pMemoize from 'p-memoize';
import c from 'picocolors';
import { gt } from 'semver';
Expand All @@ -13,16 +12,20 @@ import { workspaceRoot } from 'workspace-root';

export interface Options {}

let workspaceRootFolder = await workspaceRoot();
if (workspaceRootFolder) {
workspaceRootFolder = normalizePath(workspaceRootFolder);
}
const getWorkspaceRootFolder = pMemoize(async () => {
let workspaceRootFolder = await workspaceRoot();
if (workspaceRootFolder) {
workspaceRootFolder = normalizePath(workspaceRootFolder);
}
return workspaceRootFolder;
});

const parsePackageNameFromModulePath = mem((id: string) => {
const parsePackageNameFromModulePath = pMemoize(async (id: string) => {
id = normalizePath(id);
const packageNameRegex = /.*\/node_modules\/((?:@[^/]+\/)?[^/]+)/;
const match = id.match(packageNameRegex);
const packageName = match ? match[1] : id;
const workspaceRootFolder = await getWorkspaceRootFolder();
if (workspaceRootFolder && packageName.startsWith(workspaceRootFolder)) {
return packageName.slice(workspaceRootFolder.length + 1);
}
Expand Down Expand Up @@ -75,19 +78,17 @@ export default createUnplugin<Options | undefined>(() => {
if (packageInfo) {
const { name, version } = packageInfo;
const existedVersionsMap = packageToVersionsMap.get(name);
const importerPackage = await parsePackageNameFromModulePath(importer);
if (existedVersionsMap) {
const existedImporters = existedVersionsMap.get(version);
if (existedImporters) {
existedImporters.add(parsePackageNameFromModulePath(importer));
existedImporters.add(importerPackage);
} else {
existedVersionsMap.set(
version,
new Set([parsePackageNameFromModulePath(importer)]),
);
existedVersionsMap.set(version, new Set([importerPackage]));
}
} else {
const versionMap = new Map<string, Set<string>>([
[version, new Set([parsePackageNameFromModulePath(importer)])],
[version, new Set([importerPackage])],
]);
packageToVersionsMap.set(name, versionMap);
}
Expand Down

0 comments on commit cbb11e9

Please sign in to comment.