Skip to content

Commit

Permalink
move to default resolve
Browse files Browse the repository at this point in the history
  • Loading branch information
patricklx committed Aug 27, 2024
1 parent 5f90908 commit ff31ffa
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 43 deletions.
40 changes: 23 additions & 17 deletions packages/vite/src/esbuild-request.ts
Original file line number Diff line number Diff line change
Expand Up @@ -146,27 +146,33 @@ export class EsBuildModuleRequest implements ModuleRequest {

requestStatus(request.specifier);

let result = await this.context.resolve(request.specifier, {
importer: request.fromFile,
resolveDir: dirname(request.fromFile),
kind: this.kind,
pluginData: {
embroider: {
enableCustomResolver: false,
meta: request.meta,
const extensions = ['', '.hbs'];
let lastResult: Resolution<OnResolveResult, OnResolveResult>;

for (const extension of extensions) {
let result = await this.context.resolve(request.specifier + extension, {
importer: request.fromFile,
resolveDir: dirname(request.fromFile),
kind: this.kind,
pluginData: {
embroider: {
enableCustomResolver: false,
meta: request.meta,
},
},
},
});
});

let status = readStatus(request.specifier);
let status = readStatus(request.specifier);

if (result.errors.length > 0 || status === 'not_found') {
return { type: 'not_found', err: result };
} else if (result.external) {
return { type: 'ignored', result };
} else {
return { type: 'found', filename: result.path, result, isVirtual: this.isVirtual };
if (result.errors.length > 0 || status === 'not_found') {
lastResult = { type: 'not_found', err: result };
} else if (result.external) {
return { type: 'ignored', result };
} else {
return { type: 'found', filename: result.path, result, isVirtual: this.isVirtual };
}
}
return lastResult!;
}
}

Expand Down
48 changes: 22 additions & 26 deletions packages/vite/src/esbuild-resolver.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ export function esBuildResolver(): EsBuildPlugin {
return {
name: 'embroider-esbuild-resolver',
setup(build) {
console.log('build', build);
// Embroider Resolver
build.onResolve({ filter: /./ }, async ({ path, importer, pluginData, kind }) => {
let request = EsBuildModuleRequest.from(build, kind, path, importer, pluginData);
Expand All @@ -59,14 +60,12 @@ export function esBuildResolver(): EsBuildPlugin {
let pkgCache = resolverLoader.resolver.packageCache;
let fromPkg = pkgCache.ownerOfFile(request.fromFile);
let toPkg = pkgCache.ownerOfFile(resolution.filename);
if (toPkg?.isV2App()) {
if (!fromPkg?.isV2App()) {
let encoded = resolverLoader.resolver.generateEncodedRequest(request);
return {
path: encoded.specifier,
external: true,
};
}
if (toPkg?.isV2App() && !fromPkg?.isV2App()) {
let encoded = resolverLoader.resolver.generateEncodedRequest(request);
return {
path: encoded.specifier,
external: true,
};
}
case 'ignored':
return resolution.result;
Expand All @@ -84,26 +83,23 @@ export function esBuildResolver(): EsBuildPlugin {
return null;
}

// vite resolver does not take part when optimizing deps
const extensions = ['', '.hbs'];
for (const extension of extensions) {
let result = await build.resolve(path + extension, {
namespace,
resolveDir,
importer,
kind,
// avoid reentrance
pluginData: { ...pluginData, embroiderExtensionResolving: true },
});
if (result.errors.length) continue;
if (result.errors.length === 0 && !result.external) {
let syntheticPath = needsSyntheticComponentJS(path, result.path, resolverLoader.resolver.packageCache);
if (syntheticPath) {
return { path: syntheticPath, namespace: 'embroider-template-only-component' };
}
let result = await build.resolve(path, {
namespace,
resolveDir,
importer,
kind,
// avoid reentrance
pluginData: { ...pluginData, embroiderExtensionResolving: true },
});

if (result.errors.length === 0 && !result.external) {
let syntheticPath = needsSyntheticComponentJS(path, result.path, resolverLoader.resolver.packageCache);
if (syntheticPath) {
return { path: syntheticPath, namespace: 'embroider-template-only-component' };
}
return result;
}

return result;
});

// we need to handle everything from one of our three special namespaces:
Expand Down

0 comments on commit ff31ffa

Please sign in to comment.