diff --git a/node-swc/src/spack.ts b/node-swc/src/spack.ts index 3e3a3f5599b7..befd93d931bf 100644 --- a/node-swc/src/spack.ts +++ b/node-swc/src/spack.ts @@ -4,12 +4,15 @@ import { Options } from "./types"; export type BundleInput = BundleOptions | BundleOptions[]; +export const isLocalFile = /^\.{0,2}\//; // starts with '/' './' '../' + export async function compileBundleOptions(config: BundleInput | string | undefined): Promise { const f = config === undefined ? '.' : config; try { - const file = typeof f === 'string' ? f : path.resolve('spack.config.js'); - let configFromFile: BundleInput = require(file); + const filepath = typeof f === 'string' ? f : 'spack.config.js'; + const fileModule = isLocalFile.test(filepath) ? path.resolve(filepath) : filepath; + let configFromFile: BundleInput = require(fileModule); if ((configFromFile as any).default) { configFromFile = (configFromFile as any).default; }