Skip to content

Commit

Permalink
fix: add file extension
Browse files Browse the repository at this point in the history
  • Loading branch information
JerrysShan committed Dec 20, 2023
1 parent 89a4bac commit b88807b
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 5 deletions.
2 changes: 1 addition & 1 deletion src/configuration/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ export default class ConfigurationHandler {
}

async setConfigByFile(fileItem: ManifestItem) {
const configContent: ConfigObject = await compatibleRequire(fileItem.path);
const configContent: ConfigObject = await compatibleRequire(fileItem.path + fileItem.extname);
if (configContent) {
const env = ConfigurationHandler.getEnvFromFilename(fileItem.filename);
this.setConfig(env, configContent);
Expand Down
2 changes: 1 addition & 1 deletion src/loader/impl/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ class ConfigLoader implements Loader {
}

protected async loadConfigFile(item: ManifestItem): Promise<Record<string, any>> {
const originConfigObj = await compatibleRequire(item.path);
const originConfigObj = await compatibleRequire(item.path + item.extname);
let configObj = originConfigObj;
if (typeof originConfigObj === 'function') {
const app = this.container.get(ArtusInjectEnum.Application);
Expand Down
2 changes: 1 addition & 1 deletion src/loader/impl/lifecycle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class LifecycleLoader implements Loader {
}

async load(item: ManifestItem) {
const origin: Constructable<ApplicationLifecycle>[] = await compatibleRequire(item.path, true);
const origin: Constructable<ApplicationLifecycle>[] = await compatibleRequire(item.path + item.extname, true);
item.loaderState = Object.assign({ exportNames: ['default'] }, item.loaderState);
const { loaderState: state } = item as { loaderState: { exportNames: string[] } };

Expand Down
2 changes: 1 addition & 1 deletion src/loader/impl/module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ class ModuleLoader implements Loader {
}

async load(item: ManifestItem): Promise<Constructable[]> {
const origin = await compatibleRequire(item.path, true);
const origin = await compatibleRequire(item.path + item.extname, true);
item.loaderState = Object.assign({ exportNames: ['default'] }, item.loaderState);
const { loaderState: state } = item as { loaderState: { exportNames: string[] } };

Expand Down
7 changes: 6 additions & 1 deletion src/utils/compatible_require.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,14 @@ import assert from 'assert';
* @param path
*/
export default async function compatibleRequire(path: string, origin = false): Promise<any> {
const requiredModule = await import(path);
if (path.endsWith('.json')) {
return require(path);
}
let requiredModule = await import(path);

assert(requiredModule, `module '${path}' exports is undefined`);

requiredModule = requiredModule.__esModule ? requiredModule.default ?? requiredModule : requiredModule;

return origin ? requiredModule : (requiredModule.default || requiredModule);
}

0 comments on commit b88807b

Please sign in to comment.