Skip to content
This repository was archived by the owner on Jul 6, 2025. It is now read-only.

Commit 448f88e

Browse files
committed
Improve imort map loading
1 parent c19f151 commit 448f88e

File tree

2 files changed

+19
-22
lines changed

2 files changed

+19
-22
lines changed

server/app.ts

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ import type {
3636
import { VERSION } from '../version.ts'
3737
import {
3838
defaultConfig,
39-
defaultImportMap,
4039
loadConfig,
4140
loadAndUpgradeImportMap,
4241
RequiredConfig
@@ -118,13 +117,7 @@ export class Application implements ServerApplication {
118117
])
119118

120119
Object.assign(this.config, config)
121-
Object.assign(this.importMap, {
122-
...importMap,
123-
imports: Object.assign(
124-
defaultImportMap(this.config.react.version).imports,
125-
importMap.imports
126-
)
127-
})
120+
Object.assign(this.importMap, importMap)
128121
this.#pageRouting.config(this.config)
129122
this.#cssProcesser.config(!this.isDev, this.config.css)
130123

server/config.ts

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -174,24 +174,28 @@ export async function loadAndUpgradeImportMap(workingDir: string): Promise<Impor
174174
await Deno.writeTextFile(importMapFile, JSON.stringify(importMap, undefined, 2))
175175
}
176176

177-
return importMap
178-
}
179-
180-
export function defaultImportMap(reactVersion: string): ImportMap {
177+
const v = Deno.env.get('ALEPH_DEV')
181178
const alephPkgUri = getAlephPkgUri()
182-
return {
183-
imports: {
184-
'aleph/': `${alephPkgUri}/`,
185-
'framework': `${alephPkgUri}/framework/core/mod.ts`,
186-
'framework/react': `${alephPkgUri}/framework/react/mod.ts`,
187-
'react': `https://esm.sh/react@${reactVersion}`,
188-
'react-dom': `https://esm.sh/react-dom@${reactVersion}`,
189-
'react-dom/server': `https://esm.sh/react-dom@${reactVersion}/server`,
190-
},
191-
scopes: {}
179+
const defaultImports: Record<string, string> = {
180+
'aleph/': `${alephPkgUri}/`,
181+
'framework': `${alephPkgUri}/framework/core/mod.ts`,
182+
'framework/react': `${alephPkgUri}/framework/react/mod.ts`,
183+
'react': `https://esm.sh/react@${defaultReactVersion}`,
184+
'react-dom': `https://esm.sh/react-dom@${defaultReactVersion}`,
185+
'react-dom/server': `https://esm.sh/react-dom@${defaultReactVersion}/server`,
186+
}
187+
// in aleph dev mode, use default imports instead of app settings
188+
if (v !== undefined) {
189+
Object.assign(importMap.imports, defaultImports)
190+
} else {
191+
importMap.imports = Object.assign(defaultImports, importMap.imports,)
192192
}
193+
194+
return importMap
193195
}
194196

197+
198+
195199
function isFramework(v: any): v is 'react' {
196200
switch (v) {
197201
case 'react':

0 commit comments

Comments
 (0)