esbuild.config.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import * as esbuild from 'esbuild';
  2. import { umdWrapper } from 'esbuild-plugin-umd-wrapper';
  3. import fs from 'fs';
  4. const version = process.env.SEMANTIC_RELEASE_NEXT_VERSION || JSON.parse(fs.readFileSync('./package.json')).version;
  5. console.log('building version:', version);
  6. const banner = `/**
  7. * marked v${version} - a markdown parser
  8. * Copyright (c) 2011-${new Date().getFullYear()}, Christopher Jeffrey. (MIT Licensed)
  9. * https://github.com/markedjs/marked
  10. */
  11. /**
  12. * DO NOT EDIT THIS FILE
  13. * The code in this file is generated from files in ./src/
  14. */
  15. `;
  16. function config(options) {
  17. return {
  18. entryPoints: ['src/marked.ts'],
  19. banner: {
  20. js: banner,
  21. },
  22. sourcemap: true,
  23. bundle: true,
  24. minify: true,
  25. ...(options.format === 'umd'
  26. ? {
  27. plugins: [umdWrapper({
  28. libraryName: 'marked',
  29. })],
  30. }
  31. : {}),
  32. ...options,
  33. };
  34. }
  35. await esbuild.build(config({
  36. format: 'esm',
  37. outfile: 'lib/marked.esm.js',
  38. }));
  39. await esbuild.build(config({
  40. format: 'umd',
  41. outfile: 'lib/marked.umd.js',
  42. }));