@rajzik/config-next

Reusable Next config.

Usage no npm install needed!

<script type="module">
  import rajzikConfigNext from 'https://cdn.skypack.dev/@rajzik/config-next';
</script>

README

Next Config

Factory functions for creating preset Next configurations. Primarily used in unison with the Lumos CLI.

Extending config

Update package.json:

{
  "lumos": {
    "next": {
      "target": "serverless"
    }
  }
}

Create file in configs folder:

configs/next.js

// TBD
modules.exports = {
  target: 'serverless',
};

configs/next.js

modules.exports = (phase, { defaultConfig }) => {
  if (phase === PHASE_DEVELOPMENT_SERVER) {
    return {
      /* development only config options here */
    };
  }

  return {
    /* config options for all phases except development here */
  };
};

Settings

Main settings

interface NextOptions {
  analyzeBundle?: boolean;
  buildFolder?: string;
  root?: string;
  target?: 'server' | 'serverless' | 'experimental-serverless-trace';
  srcFolder: string;
}

Default values

{
  analyzeBundle = false,
  root = WEBPACK_ROOT,
  buildFolder = '.next',
  target = 'server',
  srcFolder = 'src',
  nextOptions = {},
}

ENV Options

  • LUMOS_BUILD_FOLDER=<string>

    • define build folder for current build
    cross-env LUMOS_BUILD_FOLDER = 'build' lumos next build
    
  • LUMOS_SRC_FOLDER=<string>

    • define src folder for current build
    cross-env LUMOS_SRC_FOLDER='src' lumos next build
    
  • LUMOS_TARGET=<server|serverless|experimental-serverless-trace>

    • Define target for current build
      cross-env LUMOS_TARGET='server' lumos next build