config.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. const path = require('path');
  2. const node = require('rollup-plugin-node-resolve');
  3. const packageJson = require('./package.json');
  4. const typescript = require('rollup-plugin-typescript2');
  5. const banner = ['/**',
  6. ` * ${ packageJson.name } - ${ packageJson.description }` +
  7. ` * @version v${ packageJson.version }`,
  8. ` * @link ${ packageJson.homepage }`,
  9. `' * @license ${ packageJson.license }`,
  10. ' */',
  11. ''].join('\n');
  12. const builds = {
  13. 'community-cjs-dev': {
  14. entry: path.resolve(__dirname, './src/main.ts'),
  15. dest: path.resolve(__dirname, './dist/ag-grid-community.cjs.js'),
  16. format: 'cjs',
  17. env: 'development',
  18. banner
  19. },
  20. /* 'community-cjs-prod': {
  21. entry: path.resolve(__dirname, '../dist/es6/main.js'),
  22. dest: path.resolve(__dirname, '../dist/ag-grid-community.cjs.min.js'),
  23. format: 'cjs',
  24. env: 'production',
  25. banner
  26. }*/
  27. };
  28. function genConfig(name) {
  29. const opts = builds[name];
  30. const config = {
  31. input: opts.entry,
  32. plugins: [
  33. node(), // for utils package - defaulting to use index.js
  34. typescript({
  35. tsconfig: "tsconfig.es6.json"
  36. })
  37. ].concat(opts.plugins || []),
  38. output: {
  39. file: opts.dest,
  40. format: opts.format,
  41. banner: opts.banner,
  42. name: opts.moduleName
  43. },
  44. onwarn: (msg, warn) => {
  45. if (msg.code === 'THIS_IS_UNDEFINED') return;
  46. if (!/Circular/.test(msg)) {
  47. warn(msg)
  48. }
  49. }
  50. };
  51. Object.defineProperty(config, '_name', {
  52. enumerable: false,
  53. value: name
  54. });
  55. return config
  56. }
  57. exports.getBuild = genConfig;
  58. exports.getAllBuilds = () => Object.keys(builds).map(genConfig);