rollup.config.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import typescript from '@rollup/plugin-typescript';
  2. import terser from '@rollup/plugin-terser';
  3. import { defineConfig } from 'rollup';
  4. import fs from 'fs';
  5. const version = process.env.SEMANTIC_RELEASE_NEXT_VERSION || JSON.parse(fs.readFileSync('./package.json')).version;
  6. console.log('building version:', version);
  7. const banner = `/**
  8. * marked v${version} - a markdown parser
  9. * Copyright (c) 2011-${new Date().getFullYear()}, Christopher Jeffrey. (MIT Licensed)
  10. * https://github.com/markedjs/marked
  11. */
  12. /**
  13. * DO NOT EDIT THIS FILE
  14. * The code in this file is generated from files in ./src/
  15. */
  16. `;
  17. export default defineConfig([
  18. {
  19. input: 'src/marked.ts',
  20. output: [{
  21. file: 'lib/marked.esm.js',
  22. format: 'esm',
  23. sourcemap: true,
  24. banner,
  25. },
  26. {
  27. file: 'lib/marked.umd.js',
  28. format: 'umd',
  29. name: 'marked',
  30. sourcemap: true,
  31. banner,
  32. },
  33. {
  34. file: 'marked.min.js',
  35. format: 'umd',
  36. name: 'marked',
  37. sourcemap: false,
  38. banner,
  39. plugins: [terser({
  40. format: {
  41. comments: (node, comment) => {
  42. if (comment.type === 'comment2') {
  43. return comment.value.includes('Copyright (c)');
  44. }
  45. },
  46. },
  47. })],
  48. },
  49. {
  50. file: 'lib/marked.cjs',
  51. format: 'cjs',
  52. name: 'marked',
  53. sourcemap: true,
  54. banner,
  55. }],
  56. plugins: [
  57. typescript(),
  58. ],
  59. },
  60. ]);