import path from 'path';
import { defineConfig, Plugin } from "vite";
const slefLoad = () => {
const options: Plugin = {
name: 'selfLoad',
resolveId: (source, importer) => {
if (source[0] !== '#' || importer === undefined) return null
const arr = importer.split(path.sep)
while (arr.pop(), arr.pop() !== 'node_modules') { importer = path.join(importer, '..') }
importer = path.join(importer, '..')
const jsonpath = path.join(importer, 'package.json')
const { imports } = require(jsonpath)
const res = path.join(importer, imports[source]?.node || imports[source])
console.log(res)
return res
}
}
return options
}
export default defineConfig({
plugins: [slefLoad()],
});