From eaef60d583b5efecfb335d63f639365178c2a811 Mon Sep 17 00:00:00 2001 From: George Taveras Date: Wed, 5 Oct 2022 18:39:40 -0400 Subject: [PATCH] feat: extend conditionNames This allows consumers to set their own considitionNames and have sass pick this up. Examples: Supporting a single entrypoint but targeting multiple themes ```scss @use 'my-design-tokens'; .class { color: my-design-tokens.$color-1 } ``` package.json ```json { "name": "my-design-tokens", "exports": { ".": { "sass": { "theme1": "./path-to-theme1.scss", "theme2": "./path-to-theme2.scss" } } } } ``` Webpack config ``` module.exports = { resolve: { conditionNames: [someFlag ? "theme1" : "theme2", "..."] } } ``` --- src/utils.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils.js b/src/utils.js index 6d8e37c3..aa7a8bb7 100644 --- a/src/utils.js +++ b/src/utils.js @@ -530,7 +530,7 @@ function getWebpackResolver( const webpackModuleResolve = promiseResolve( resolverFactory({ dependencyType: "sass", - conditionNames: ["sass", "style"], + conditionNames: ["sass", "style", "..."], mainFields: ["sass", "style", "main", "..."], mainFiles: ["_index", "index", "..."], extensions: [".sass", ".scss", ".css"], @@ -541,7 +541,7 @@ function getWebpackResolver( const webpackImportResolve = promiseResolve( resolverFactory({ dependencyType: "sass", - conditionNames: ["sass", "style"], + conditionNames: ["sass", "style", "..."], mainFields: ["sass", "style", "main", "..."], mainFiles: ["_index.import", "_index", "index.import", "index", "..."], extensions: [".sass", ".scss", ".css"],