UNPKG

next-bun-docker

Version:

Next.js plugin to fix Bun + Docker build issues with webpack and TypeScript path aliases

118 lines (115 loc) 3.93 kB
var __create = Object.create; var __getProtoOf = Object.getPrototypeOf; var __defProp = Object.defineProperty; var __getOwnPropNames = Object.getOwnPropertyNames; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __hasOwnProp = Object.prototype.hasOwnProperty; var __toESM = (mod, isNodeMode, target) => { target = mod != null ? __create(__getProtoOf(mod)) : {}; const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target; for (let key of __getOwnPropNames(mod)) if (!__hasOwnProp.call(to, key)) __defProp(to, key, { get: () => mod[key], enumerable: true }); return to; }; var __moduleCache = /* @__PURE__ */ new WeakMap; var __toCommonJS = (from) => { var entry = __moduleCache.get(from), desc; if (entry) return entry; entry = __defProp({}, "__esModule", { value: true }); if (from && typeof from === "object" || typeof from === "function") __getOwnPropNames(from).map((key) => !__hasOwnProp.call(entry, key) && __defProp(entry, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable })); __moduleCache.set(from, entry); return entry; }; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true, configurable: true, set: (newValue) => all[name] = () => newValue }); }; // src/index.ts var exports_src = {}; __export(exports_src, { withBunDocker: () => withBunDocker, default: () => src_default }); module.exports = __toCommonJS(exports_src); var path = __toESM(require("path")); function isBunEnvironment() { return process.env.DOCKER_BUILD === "true" || process.env.BUN_RUNTIME === "true" || process.argv[0]?.includes("bun") || !!process.versions?.bun || false; } function withBunDocker(nextConfig = {}, options = {}) { const { aliases = {}, debug = false, detectBun = isBunEnvironment } = options; return { ...nextConfig, webpack: (config, context) => { if (typeof nextConfig.webpack === "function") { config = nextConfig.webpack(config, context); } if (detectBun()) { if (debug) { console.log("\uD83D\uDD27 next-bun-docker: Applying Bun+Docker fixes to webpack config"); } config.resolve = config.resolve || {}; config.resolve.symlinks = false; const { dir, isServer } = context; const defaultAliases = { "@": path.resolve(dir, "src"), "@/components": path.resolve(dir, "src/components"), "@/lib": path.resolve(dir, "src/lib"), "@/utils": path.resolve(dir, "src/utils"), "@/styles": path.resolve(dir, "src/styles"), "@/types": path.resolve(dir, "src/types"), "@/hooks": path.resolve(dir, "src/hooks"), "@/app": path.resolve(dir, "src/app"), "@/pages": path.resolve(dir, "src/pages") }; config.resolve.alias = { ...config.resolve.alias, ...defaultAliases, ...aliases }; config.resolve.extensions = config.resolve.extensions || [ ".ts", ".tsx", ".js", ".jsx", ".json" ]; if (!isServer) { config.resolve.fallback = { ...config.resolve.fallback, fs: false, path: false, crypto: false }; } if (debug) { console.log("\uD83D\uDD27 next-bun-docker: Webpack config updated successfully"); console.log(" - Symlinks disabled"); console.log(" - Path aliases configured"); console.log(" - Module resolution optimized"); } } return config; } }; } var src_default = withBunDocker; //# debugId=5A2B5FCBAAEA261E64756E2164756E21 //# sourceMappingURL=index.js.map