Skip to content

Commit cfe2d28

Browse files
fix: patch for older versions of Tailwind CSS
1 parent 272989d commit cfe2d28

File tree

3 files changed

+28
-4
lines changed

3 files changed

+28
-4
lines changed

lib/rules/enforces-shorthand.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,9 @@ module.exports = {
244244
// Test if the body of the class matches, eg. 'h-' inside 'h-10'
245245
if (mode === 'value') {
246246
const bodyMatch = inputSet.some((inputClassPattern) => inputClassPattern === remainingClass.body);
247+
if (mergedConfig.theme.size === undefined) {
248+
return false;
249+
}
247250
// w-screen + h-screen ≠ size-screen (Issue #307)
248251
const sizeKeys = Object.keys(mergedConfig.theme.size);
249252
const isSize = ['w-', 'h-'].includes(remainingClass.body);

lib/util/customConfig.js

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,13 @@
33
const fs = require('fs');
44
const path = require('path');
55
const resolveConfig = require('tailwindcss/resolveConfig');
6-
const twLoadConfig = require('tailwindcss/lib/lib/load-config');
6+
let twLoadConfig;
7+
8+
try {
9+
twLoadConfig = require('tailwindcss/lib/lib/load-config');
10+
} catch (err) {
11+
twLoadConfig = null;
12+
}
713

814
const CHECK_REFRESH_RATE = 1_000;
915
let previousConfig = null;
@@ -18,7 +24,11 @@ let lastModifiedDate = null;
1824
*/
1925
function requireUncached(module) {
2026
delete require.cache[require.resolve(module)];
21-
return twLoadConfig.loadConfig(module);
27+
if (twLoadConfig === null) {
28+
return require(module);
29+
} else {
30+
return twLoadConfig.loadConfig(module);
31+
}
2232
}
2333

2434
function loadConfig(config) {

lib/util/settings.js

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
'use strict';
2-
const { resolveDefaultConfigPath } = require('tailwindcss/lib/util/resolveConfigPath')
2+
let resolveDefaultConfigPathAlias;
3+
4+
try {
5+
const { resolveDefaultConfigPath } = require('tailwindcss/lib/util/resolveConfigPath');
6+
resolveDefaultConfigPathAlias = resolveDefaultConfigPath;
7+
} catch (err) {
8+
resolveDefaultConfigPathAlias = null;
9+
}
310

411
function getOption(context, name) {
512
// Options (defined at rule level)
@@ -20,7 +27,11 @@ function getOption(context, name) {
2027
case 'classRegex':
2128
return '^class(Name)?$';
2229
case 'config':
23-
return resolveDefaultConfigPath();
30+
if (resolveDefaultConfigPathAlias === null) {
31+
return 'tailwind.config.js';
32+
} else {
33+
return resolveDefaultConfigPathAlias();
34+
}
2435
case 'cssFiles':
2536
return ['**/*.css', '!**/node_modules', '!**/.*', '!**/dist', '!**/build'];
2637
case 'cssFilesRefreshRate':

0 commit comments

Comments
 (0)