{"version":3,"sources":["../../../../../../../../src/build/webpack/config/blocks/css/loaders/global.ts"],"sourcesContent":["import type { webpack } from 'next/dist/compiled/webpack/webpack'\nimport type { ConfigurationContext } from '../../../utils'\n\nimport { getClientStyleLoader } from './client'\nimport { cssFileResolve } from './file-resolve'\n\nexport function getGlobalCssLoader(\n  ctx: ConfigurationContext,\n  postcss: any,\n  preProcessors: readonly webpack.RuleSetUseItem[] = []\n): webpack.RuleSetUseItem[] {\n  const loaders: webpack.RuleSetUseItem[] = []\n\n  if (ctx.isClient) {\n    // Add appropriate development more or production mode style\n    // loader\n    loaders.push(\n      getClientStyleLoader({\n        hasAppDir: ctx.hasAppDir,\n        isAppDir: ctx.isAppDir,\n        isDevelopment: ctx.isDevelopment,\n        assetPrefix: ctx.assetPrefix,\n        experimentalInlineCss: ctx.experimental.inlineCss,\n      })\n    )\n  }\n\n  if (ctx.experimental.useLightningcss) {\n    loaders.push({\n      loader: require.resolve('../../../../loaders/lightningcss-loader/src'),\n      options: {\n        importLoaders: 1 + preProcessors.length,\n        url: (url: string, resourcePath: string) =>\n          cssFileResolve(url, resourcePath, ctx.experimental.urlImports),\n        import: (url: string, _: any, resourcePath: string) =>\n          cssFileResolve(url, resourcePath, ctx.experimental.urlImports),\n        modules: false,\n        targets: ctx.supportedBrowsers,\n        postcss,\n        lightningCssFeatures: ctx.experimental.lightningCssFeatures,\n      },\n    })\n  } else {\n    // Resolve CSS `@import`s and `url()`s\n    loaders.push({\n      loader: require.resolve('../../../../loaders/css-loader/src'),\n      options: {\n        postcss,\n        importLoaders: 1 + preProcessors.length,\n        // Next.js controls CSS Modules eligibility:\n        modules: false,\n        url: (url: string, resourcePath: string) =>\n          cssFileResolve(url, resourcePath, ctx.experimental.urlImports),\n        import: (url: string, _: any, resourcePath: string) =>\n          cssFileResolve(url, resourcePath, ctx.experimental.urlImports),\n        deploymentId: ctx.deploymentId,\n      },\n    })\n\n    // Compile CSS\n    loaders.push({\n      loader: require.resolve('../../../../loaders/postcss-loader/src'),\n      options: {\n        postcss,\n      },\n    })\n  }\n\n  loaders.push(\n    // Webpack loaders run like a stack, so we need to reverse the natural\n    // order of preprocessors.\n    ...preProcessors.slice().reverse()\n  )\n\n  return loaders\n}\n"],"names":["getClientStyleLoader","cssFileResolve","getGlobalCssLoader","ctx","postcss","preProcessors","loaders","isClient","push","hasAppDir","isAppDir","isDevelopment","assetPrefix","experimentalInlineCss","experimental","inlineCss","useLightningcss","loader","require","resolve","options","importLoaders","length","url","resourcePath","urlImports","import","_","modules","targets","supportedBrowsers","lightningCssFeatures","deploymentId","slice","reverse"],"mappings":"AAGA,SAASA,oBAAoB,QAAQ,WAAU;AAC/C,SAASC,cAAc,QAAQ,iBAAgB;AAE/C,OAAO,SAASC,mBACdC,GAAyB,EACzBC,OAAY,EACZC,gBAAmD,EAAE;IAErD,MAAMC,UAAoC,EAAE;IAE5C,IAAIH,IAAII,QAAQ,EAAE;QAChB,4DAA4D;QAC5D,SAAS;QACTD,QAAQE,IAAI,CACVR,qBAAqB;YACnBS,WAAWN,IAAIM,SAAS;YACxBC,UAAUP,IAAIO,QAAQ;YACtBC,eAAeR,IAAIQ,aAAa;YAChCC,aAAaT,IAAIS,WAAW;YAC5BC,uBAAuBV,IAAIW,YAAY,CAACC,SAAS;QACnD;IAEJ;IAEA,IAAIZ,IAAIW,YAAY,CAACE,eAAe,EAAE;QACpCV,QAAQE,IAAI,CAAC;YACXS,QAAQC,QAAQC,OAAO,CAAC;YACxBC,SAAS;gBACPC,eAAe,IAAIhB,cAAciB,MAAM;gBACvCC,KAAK,CAACA,KAAaC,eACjBvB,eAAesB,KAAKC,cAAcrB,IAAIW,YAAY,CAACW,UAAU;gBAC/DC,QAAQ,CAACH,KAAaI,GAAQH,eAC5BvB,eAAesB,KAAKC,cAAcrB,IAAIW,YAAY,CAACW,UAAU;gBAC/DG,SAAS;gBACTC,SAAS1B,IAAI2B,iBAAiB;gBAC9B1B;gBACA2B,sBAAsB5B,IAAIW,YAAY,CAACiB,oBAAoB;YAC7D;QACF;IACF,OAAO;QACL,sCAAsC;QACtCzB,QAAQE,IAAI,CAAC;YACXS,QAAQC,QAAQC,OAAO,CAAC;YACxBC,SAAS;gBACPhB;gBACAiB,eAAe,IAAIhB,cAAciB,MAAM;gBACvC,4CAA4C;gBAC5CM,SAAS;gBACTL,KAAK,CAACA,KAAaC,eACjBvB,eAAesB,KAAKC,cAAcrB,IAAIW,YAAY,CAACW,UAAU;gBAC/DC,QAAQ,CAACH,KAAaI,GAAQH,eAC5BvB,eAAesB,KAAKC,cAAcrB,IAAIW,YAAY,CAACW,UAAU;gBAC/DO,cAAc7B,IAAI6B,YAAY;YAChC;QACF;QAEA,cAAc;QACd1B,QAAQE,IAAI,CAAC;YACXS,QAAQC,QAAQC,OAAO,CAAC;YACxBC,SAAS;gBACPhB;YACF;QACF;IACF;IAEAE,QAAQE,IAAI,CACV,sEAAsE;IACtE,0BAA0B;OACvBH,cAAc4B,KAAK,GAAGC,OAAO;IAGlC,OAAO5B;AACT","ignoreList":[0]}