UNPKG

vike

Version:

The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.

45 lines (44 loc) 1.78 kB
"use strict"; /* * We create a file `dist/server/package.json` to support ESM users. * Otherwise, following error is thrown: * Must use import to load ES Module: dist/server/pageFiles.js * require() of ES modules is not supported. * require() of dist/server/pageFiles.js from node_modules/vike/dist/esm/node/runtime/page-files/setup.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules. * Reproduction: https://github.com/brillout/vite-plugin-ssr-server-import-syntax */ Object.defineProperty(exports, "__esModule", { value: true }); exports.pluginDistPackageJsonFile = pluginDistPackageJsonFile; const rollupIsEsm_js_1 = require("../../shared/rollupIsEsm.js"); const isViteServerBuild_js_1 = require("../../shared/isViteServerBuild.js"); function pluginDistPackageJsonFile() { let config; return { name: 'vike:build:pluginDistPackageJsonFile', apply: 'build', configResolved(config_) { config = config_; }, generateBundle(options, bundle) { if (!(0, isViteServerBuild_js_1.isViteServerBuild)(config)) return; const isEsm = (0, rollupIsEsm_js_1.rollupIsEsm)(options); const fileName = 'package.json'; if (bundle[fileName]) return; // E.g. already generated by Telefunc / vike this.emitFile({ fileName, type: 'asset', source: getPackageJsonContent(isEsm), }); }, }; } function getPackageJsonContent(isEsm) { if (isEsm) { return `{ "type": "module" }`; } else { return `{ "type": "commonjs" }`; } }