build.mjs 823 B

1234567891011121314151617181920212223242526272829303132
  1. import fs from 'node:fs';
  2. import { replaceTscAliasPaths } from 'tsc-alias';
  3. import { resolve } from 'node:path';
  4. import esbuild from 'esbuild';
  5. /**
  6. * @type { import('esbuild').BuildOptions }
  7. */
  8. const buildOptions = {
  9. entryPoints: ['./index.ts', './lib/**/*.ts', './lib/**/*.tsx'],
  10. tsconfig: './tsconfig.json',
  11. bundle: false,
  12. target: 'es6',
  13. outdir: './dist',
  14. sourcemap: true,
  15. };
  16. await esbuild.build(buildOptions);
  17. /**
  18. * Post build paths resolve since ESBuild only natively
  19. * support paths resolution for bundling scenario
  20. * @url https://github.com/evanw/esbuild/issues/394#issuecomment-1537247216
  21. */
  22. await replaceTscAliasPaths({
  23. configFile: 'tsconfig.json',
  24. watch: false,
  25. outDir: 'dist',
  26. declarationDir: 'dist',
  27. });
  28. fs.copyFileSync(resolve('lib', 'global.css'), resolve('dist', 'global.css'));