@fleek-platform/functions-esbuild-config
Version:
ESBuild config for Fleek Functions
29 lines (28 loc) • 1.02 kB
JavaScript
import { unsupportedRuntimeModules } from '../runtimeModules.js';
const unsupportedModules = unsupportedRuntimeModules.map((it) => `node:${it}`);
export const moduleChecker = (args) => {
const { unsupportedModulesUsed } = args;
return {
name: 'moduleChecker',
setup: (build) => {
build.onLoad({ filter: /.*/, namespace: 'unsupported' }, (args) => {
return {
contents: `
throw new Error('Unsupported module: ${args.path}');
`,
loader: 'js',
};
});
build.onResolve({ filter: /.*/ }, ({ path }) => {
if (unsupportedModules.includes(path) || unsupportedModules.includes(`node:${path}`)) {
unsupportedModulesUsed.add(path);
return {
path,
namespace: 'unsupported',
};
}
return null;
});
},
};
};