Next.js website for Rocky Mountain Vending company featuring: - Product catalog with Stripe integration - Service areas and parts pages - Admin dashboard with Clerk authentication - SEO optimized pages with JSON-LD structured data Co-authored-by: Cursor <cursoragent@cursor.com>
39 lines
No EOL
1.9 KiB
Text
39 lines
No EOL
1.9 KiB
Text
import { getRspackCore } from '../../../../../../shared/lib/get-rspack';
|
|
export function getClientStyleLoader({ hasAppDir, isAppDir, isDevelopment, assetPrefix, experimentalInlineCss }) {
|
|
const isRspack = Boolean(process.env.NEXT_RSPACK);
|
|
const shouldEnableApp = typeof isAppDir === 'boolean' ? isAppDir : hasAppDir;
|
|
// Keep next-style-loader for development mode in `pages/`
|
|
if (isDevelopment && !shouldEnableApp) {
|
|
return {
|
|
loader: 'next-style-loader',
|
|
options: {
|
|
insert: function(element) {
|
|
// By default, style-loader injects CSS into the bottom
|
|
// of <head>. This causes ordering problems between dev
|
|
// and prod. To fix this, we render a <noscript> tag as
|
|
// an anchor for the styles to be placed before. These
|
|
// styles will be applied _before_ <style jsx global>.
|
|
// These elements should always exist. If they do not,
|
|
// this code should fail.
|
|
var anchorElement = document.querySelector('#__next_css__DO_NOT_USE__');
|
|
var parentNode = anchorElement.parentNode// Normally <head>
|
|
;
|
|
// Each style tag should be placed right before our
|
|
// anchor. By inserting before and not after, we do not
|
|
// need to track the last inserted element.
|
|
parentNode.insertBefore(element, anchorElement);
|
|
}
|
|
}
|
|
};
|
|
}
|
|
const MiniCssExtractPlugin = isRspack ? getRspackCore().rspack.CssExtractRspackPlugin : require('../../../../plugins/mini-css-extract-plugin').default;
|
|
return {
|
|
loader: MiniCssExtractPlugin.loader,
|
|
options: {
|
|
publicPath: experimentalInlineCss ? '/' : `${assetPrefix}/_next/`,
|
|
esModule: false
|
|
}
|
|
};
|
|
}
|
|
|
|
//# sourceMappingURL=client.js.map |