Nuxt/scripts/dev
Pim 90325c35ae feat(cli): use cjs dist stub in package (#4243)
* feat: use cjs dist stub for cli package

* fix: spawn nuxtBin directly

* keep node -r esm for optimal windows compatibility
2018-11-01 05:00:28 +01:00

49 lines
1.0 KiB
JavaScript
Executable File

#!/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 = 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)
})