feat(nextjs): improve type checking for nextjs config file (#11497)

Co-authored-by: Nicholas Cunningham <ndcunningham>
This commit is contained in:
Nicholas Cunningham 2022-08-09 09:31:22 -06:00 committed by GitHub
parent 4917239100
commit 522dcdd339
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 13 additions and 6 deletions

View File

@ -12,7 +12,7 @@ function patchNextCSSWithLess(
patchNextCSSWithLess();
function withLess({ lessLoaderOptions = {}, ...nextConfig }) {
export function withLess({ lessLoaderOptions = {}, ...nextConfig }) {
return Object.assign({}, nextConfig, {
webpack(config, opts) {
// there are 2 relevant sass rules in next.js - css modules and global css
@ -95,4 +95,5 @@ function withLess({ lessLoaderOptions = {}, ...nextConfig }) {
}
module.exports = withLess;
module.exports.withLess = withLess;
module.exports.patchNext = patchNextCSSWithLess;

View File

@ -20,7 +20,7 @@ function regexEqual(x, y) {
);
}
function withNx(nextConfig = {} as WithNxOptions) {
export function withNx(nextConfig = {} as WithNxOptions) {
const userWebpack = nextConfig.webpack || ((x) => x);
const { nx, ...validNextConfig } = nextConfig;
return {
@ -154,4 +154,7 @@ function addNxEnvVariables(config: any) {
}
}
// Support for older generated code: `const withNx = require('@nrwl/next/plugins/with-nx');`
module.exports = withNx;
// Support for newer generated code: `const { withNx } = require(...);`
module.exports.withNx = withNx;

View File

@ -12,7 +12,7 @@ function patchNextCSSWithStylus(
patchNextCSSWithStylus();
function withStylus({ stylusLoaderOptions = {}, ...nextConfig }: any) {
export function withStylus({ stylusLoaderOptions = {}, ...nextConfig }: any) {
return Object.assign({}, nextConfig, {
webpack(config, opts) {
// there are 2 relevant sass rules in next.js - css modules and global css
@ -94,4 +94,5 @@ function withStylus({ stylusLoaderOptions = {}, ...nextConfig }: any) {
}
module.exports = withStylus;
module.exports.withStylus = withStylus;
module.exports.patchNext = patchNextCSSWithStylus;

View File

@ -1,10 +1,12 @@
//@ts-check
// eslint-disable-next-line @typescript-eslint/no-var-requires
const withNx = require('@nrwl/next/plugins/with-nx');
const { withNx } = require('@nrwl/next/plugins/with-nx');
<% if (style === 'less') { %>
// This plugin is needed until this PR is merged.
// https://github.com/vercel/next.js/pull/23185
const withLess = require('@nrwl/next/plugins/with-less');
const { withLess } = require('@nrwl/next/plugins/with-less');
/**
* @type {import('@nrwl/next/plugins/with-nx').WithNxOptions}
@ -19,7 +21,7 @@ const nextConfig = {
module.exports = withLess(withNx(nextConfig));
<% } else if (style === 'styl') { %>
const withStylus = require('@nrwl/next/plugins/with-stylus');
const { withStylus } = require('@nrwl/next/plugins/with-stylus');
/**
* @type {import('@nrwl/next/plugins/with-nx').WithNxOptions}