Ctrl K
ComunidadGuías…

scripts/copy-assets.mjs

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
#!/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)
  }
)