scripts/copy-assets.mjs
Rama main · réplica de lectura del repositorio original.
#!/usr/bin/env node
/**
* Copies static assets into dist/client/ (public/, Font Awesome, @fontsource/ubuntu).
* Replaces the former build:public/build:vendor shell scripts that broke on Windows
* cmd.exe (Unix cp/mkdir, backtick substitution and globbing).
*/
import { createRequire } from 'node:module'
import path from 'node:path'
import fs from 'fs-extra'
const require = createRequire(import.meta.url)
const nodeModulesPath = require('node_modules-path')
const root = process.cwd()
const dist = path.join(root, 'dist', 'client')
const fontawesome = path.join(nodeModulesPath('@fortawesome'), '@fortawesome', 'fontawesome-free')
const fontsourceUbuntu = path.join(nodeModulesPath('@fontsource'), '@fontsource', 'ubuntu')
async function main() {
await fs.copy(path.join(root, 'public'), dist)
await fs.copy(path.join(fontawesome, 'css', 'all.min.css'), path.join(dist, 'css', 'all.min.css'))
await fs.copy(path.join(fontawesome, 'webfonts'), path.join(dist, 'webfonts'))
const filesSrc = path.join(fontsourceUbuntu, 'files')
const filesDest = path.join(dist, 'css', 'files')
await fs.ensureDir(filesDest)
const entries = await fs.readdir(filesSrc)
await Promise.all(
entries
.filter(name => name.startsWith('ubuntu-latin-'))
.map(name => fs.copy(path.join(filesSrc, name), path.join(filesDest, name)))
)
}
main().then(
() => console.log('Copied public + vendor assets to dist/client/'),
err => {
console.error(err)
process.exit(1)
}
)