#!/usr/bin/env node -r esm import path from 'path' import fs from 'fs-extra' import consola from 'consola' import Package from './package.js' const useCjs = new Set([ '@nuxt/cli' ]) const stub = { es: `export * from '../src/index'`, cjs: `const esm = require('esm') const _require = esm(module, { cache: false, cjs: { cache: true, vars: true, namedExports: true } }) module.exports = _require('../src/index') ` } async function main() { // Read package at current directory const rootPackage = new Package() const workspacePackages = await rootPackage.getWorkspacePackages() // Create a dev-only entrypoint to the src for (const pkg of workspacePackages) { if (!pkg.pkg.main || !pkg.options.build) { continue } consola.info(pkg.pkg.main) const distMain = pkg.resolvePath(pkg.pkg.main) await fs.mkdirp(path.dirname(distMain)) await fs.writeFile(distMain, useCjs.has(pkg.pkg.name) ? stub.cjs : stub.es) } } main().catch((error) => { consola.error(error) process.exit(1) })