next.config.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import { listScopedPackages } from './src/utils/next.config.utils';
  2. // define transpiled packages for '@growi/*'
  3. const scopedPackages = listScopedPackages(['@growi']);
  4. const withTM = require('next-transpile-modules')(scopedPackages);
  5. // define additional entries
  6. const additionalWebpackEntries = {
  7. boot: './src/client/boot',
  8. };
  9. /** @type {import('next').NextConfig} */
  10. const nextConfig = {
  11. reactStrictMode: true,
  12. typescript: {
  13. tsconfigPath: 'tsconfig.build.client.json',
  14. },
  15. webpack(config, options) {
  16. // configure additional entries
  17. const orgEntry = config.entry;
  18. config.entry = () => {
  19. return orgEntry().then((entry) => {
  20. return { ...entry, ...additionalWebpackEntries };
  21. });
  22. };
  23. // configure plugins
  24. const WebpackAssetsManifest = require('webpack-assets-manifest');
  25. config.plugins.push(
  26. new WebpackAssetsManifest({
  27. publicPath: true,
  28. output: 'custom-manifest.json',
  29. }),
  30. );
  31. return config;
  32. },
  33. };
  34. module.exports = withTM(nextConfig)