Sha256: bf880f909dc4a4db7dc49352dc9f3278f2727e864853ec0bce6422ef422fb0a1

Contents?: true

Size: 888 Bytes

Versions: 5

Compression:

Stored size: 888 Bytes

Contents

import path from 'path';
import fs from 'fs';

const config = {
  sourcemap: "external",
  entrypoints: ["app/javascript/application.js"],
  outdir: path.join(process.cwd(), "app/assets/builds"),
};

const build = async (config) => {
  const result = await Bun.build(config);

  if (!result.success) {
    if (process.argv.includes('--watch')) {
      console.error("Build failed");
      for (const message of result.logs) {
        console.error(message);
      }
      return;
    } else {
      throw new AggregateError(result.logs, "Build failed");
    }
  }
};

(async () => {
  await build(config);

  if (process.argv.includes('--watch')) {
    fs.watch(path.join(process.cwd(), "app/javascript"), { recursive: true }, (eventType, filename) => {
      console.log(`File changed: ${filename}. Rebuilding...`);
      build(config);
    });
  } else {
    process.exit(0);
  }
})();

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
jsbundling-rails-1.3.1 lib/install/bun/bun.config.js
jsbundling-rails-1.3.0 lib/install/bun/bun.config.js
jsbundling-rails-1.2.2 lib/install/bun/bun.config.js
jsbundling-rails-1.2.1 lib/install/bun/bun.config.js
jsbundling-rails-1.2.0 lib/install/bun/bun.config.js