Skip to content

Commit

Permalink
Revert "fix(prepare): alias handle (#10523)" (#10532)
Browse files Browse the repository at this point in the history
This reverts commit 428d793.
  • Loading branch information
stormslowly authored Feb 16, 2023
1 parent 87fa660 commit 385c247
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 20 deletions.
5 changes: 2 additions & 3 deletions packages/preset-umi/src/features/prepare/build.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ export async function build(opts: {
write?: boolean;
}) {
const outdir = path.join(path.dirname(opts.entryPoints[0]), 'out');
const alias = opts.config?.alias || {};
return await esbuild.build({
format: 'esm',
platform: 'browser',
Expand Down Expand Up @@ -55,8 +54,8 @@ export async function build(opts: {
// then we import 'foo/bar.less'
// if we resolve alias first, we will get { path }
// if we resolve externals first, we will get { external: true }
esbuildExternalPlugin({ alias }),
esbuildAliasPlugin({ alias }),
esbuildExternalPlugin(),
esbuildAliasPlugin({ alias: opts.config?.alias || {} }),
...(opts.plugins || []),
],
});
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
import type { Plugin } from '@umijs/bundler-utils/compiled/esbuild';
import { aliasUtils, winPath } from '@umijs/utils';
import { winPath } from '@umijs/utils';
import path from 'path';

export function esbuildExternalPlugin(opts: {
alias: Record<string, string>;
}): Plugin {
const { alias } = opts;
export function esbuildExternalPlugin(): Plugin {
return {
name: 'esbuildExternalPlugin',
setup(build) {
Expand All @@ -25,18 +22,10 @@ export function esbuildExternalPlugin(opts: {
return null;
}

// alias handle
// we need alias import, but not import from node_modules
const isAbsoluteImport = path.isAbsolute(args.path);
if (!isAbsoluteImport) {
const winP = winPath(args.path);
const aliasImport = aliasUtils.getAliasValue({
alias,
imported: winP,
});
if (aliasImport && !aliasImport.includes('node_modules')) {
return null;
}
const winP = winPath(args.path);
const isAliasImport = winP.startsWith('@/') || winP.startsWith('@@/');
if (isAliasImport) {
return null;
}

// 不在 node_modules 里的,并且以 / 开头的,不走 external
Expand Down

0 comments on commit 385c247

Please sign in to comment.