Skip to content

Commit 1a7ef56

Browse files
committed
support embroider static
1 parent e72479c commit 1a7ef56

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

lib/import-processor.ts

+10-3
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ const importProcessors = {
8787
useHelperWrapper: true,
8888
useSafeImports: true,
8989
extendImportPathForNamedImports: true,
90+
embroiderStatic: true,
9091
messageFormat: 'json'
9192
},
9293
glimmer,
@@ -188,8 +189,11 @@ const importProcessors = {
188189
const components = imported.info.components;
189190
const helpers = imported.info.helpers;
190191
const modifiers = imported.info.modifiers;
192+
const options = this.options;
193+
191194
function findImport(name: string) {
192195
return imports.find((imp) => {
196+
if (options.embroiderStatic && imp.shouldLookInFile) return false;
193197
if (imp.isStyle) {
194198
return name.split('.')[0] === imp.localName;
195199
}
@@ -355,11 +359,13 @@ const importProcessors = {
355359
}
356360

357361
const createComponentLetBlockExpr = (comp: [key: string, info: {path: string}]) => {
358-
return importProcessors.glimmer.preprocess(`{{#let (component "${comp[1].path}") as |${comp[0]}|}}{{/let}}`).body[0] as glimmer.AST.BlockStatement;
362+
const path = '__hbs__import_:' + comp[1].path.replace(/\\/g, '/');
363+
return importProcessors.glimmer.preprocess(`{{#let (component "${path}") as |${comp[0]}|}}{{/let}}`).body[0] as glimmer.AST.BlockStatement;
359364
};
360365
const handleHelper = (helper: { nodes: PathExpression[], resolvedPath: string }) => {
366+
const path = '__hbs__import_:' + helper.resolvedPath.replace(/\\/g, '/');
361367
if (this.options.useModifierHelperHelpers) {
362-
let lookup = `"${helper.resolvedPath}"`;
368+
let lookup = `"${path}"`;
363369
if (this.options.useHelperWrapper) {
364370
lookup = `(ember-hbs-imports/helpers/lookup-helper this "${helper.resolvedPath}")`;
365371
}
@@ -371,8 +377,9 @@ const importProcessors = {
371377
}
372378
};
373379
const handleModifier = (modifier: { nodes: PathExpression[], resolvedPath: string }) => {
380+
const path = '__hbs__import_:' + modifier.resolvedPath.replace(/\\/g, '/');
374381
if (this.options.useModifierHelperHelpers) {
375-
let lookup = `"${modifier.resolvedPath}"`;
382+
let lookup = `"${path}"`;
376383
if (this.options.useHelperWrapper) {
377384
lookup = `(ember-hbs-imports/helpers/lookup-modifier this "${modifier.resolvedPath}")`;
378385
}

0 commit comments

Comments
 (0)