tailwindcss 0.0.0-insiders.c5c644f → 0.0.0-insiders.cd5cb00
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/lib/cli.js +6 -6
- package/lib/corePluginList.js +5 -0
- package/lib/corePlugins.js +224 -1
- package/lib/featureFlags.js +1 -1
- package/lib/lib/generateRules.js +59 -3
- package/lib/lib/normalizeTailwindDirectives.js +1 -1
- package/lib/lib/setupContextUtils.js +5 -10
- package/lib/lib/setupTrackingContext.js +5 -2
- package/lib/lib/setupWatchingContext.js +1 -1
- package/lib/public/colors.js +4 -8
- package/lib/util/log.js +30 -18
- package/lib/util/parseDependency.js +3 -0
- package/lib/util/resolveConfig.js +8 -13
- package/lib/util/withAlphaVariable.js +29 -14
- package/package.json +1 -1
- package/src/cli.js +14 -8
- package/src/corePluginList.js +1 -1
- package/src/corePlugins.js +112 -1
- package/src/featureFlags.js +1 -1
- package/src/lib/generateRules.js +80 -3
- package/src/lib/normalizeTailwindDirectives.js +1 -1
- package/src/lib/setupContextUtils.js +5 -10
- package/src/lib/setupTrackingContext.js +5 -2
- package/src/lib/setupWatchingContext.js +1 -1
- package/src/public/colors.js +4 -9
- package/src/util/log.js +18 -21
- package/src/util/parseDependency.js +4 -0
- package/src/util/resolveConfig.js +8 -15
- package/src/util/withAlphaVariable.js +13 -8
- package/stubs/defaultConfig.stub.js +42 -37
- package/stubs/simpleConfig.stub.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -29,10 +29,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
29
29
|
- Add `touch-action` utilities ([#5603](https://github.com/tailwindlabs/tailwindcss/pull/5603))
|
|
30
30
|
- Add `inherit` to default color palette ([#5597](https://github.com/tailwindlabs/tailwindcss/pull/5597))
|
|
31
31
|
- Add `overflow-clip`, `overflow-x-clip` and `overflow-y-clip` utilities ([#5630](https://github.com/tailwindlabs/tailwindcss/pull/5630))
|
|
32
|
+
- Add `scroll-snap` utilities ([#5637](https://github.com/tailwindlabs/tailwindcss/pull/5637))
|
|
33
|
+
- Add `border-x` and `border-y` width and color utilities ([#5639](https://github.com/tailwindlabs/tailwindcss/pull/5639))
|
|
32
34
|
|
|
33
35
|
### Fixed
|
|
34
36
|
|
|
35
37
|
- Fix defining colors as functions when color opacity plugins are disabled ([#5470](https://github.com/tailwindlabs/tailwindcss/pull/5470))
|
|
38
|
+
- Fix using negated `content` globs ([#5625](https://github.com/tailwindlabs/tailwindcss/pull/5625))
|
|
39
|
+
- Fix using backslashes in `content` globs ([#5628](https://github.com/tailwindlabs/tailwindcss/pull/5628))
|
|
36
40
|
|
|
37
41
|
## [2.2.16] - 2021-09-26
|
|
38
42
|
|
package/lib/cli.js
CHANGED
|
@@ -15,6 +15,7 @@ var _fastGlob = _interopRequireDefault(require("fast-glob"));
|
|
|
15
15
|
var _getModuleDependencies = _interopRequireDefault(require("./lib/getModuleDependencies"));
|
|
16
16
|
var _log = _interopRequireDefault(require("./util/log"));
|
|
17
17
|
var _packageJson = _interopRequireDefault(require("../package.json"));
|
|
18
|
+
var _normalizePath = _interopRequireDefault(require("normalize-path"));
|
|
18
19
|
function _interopRequireDefault(obj) {
|
|
19
20
|
return obj && obj.__esModule ? obj : {
|
|
20
21
|
default: obj
|
|
@@ -386,14 +387,12 @@ async function build() {
|
|
|
386
387
|
};
|
|
387
388
|
let resolvedConfig = (0, _resolveConfig).default(config);
|
|
388
389
|
if (args['--purge']) {
|
|
389
|
-
_log.default.warn([
|
|
390
|
+
_log.default.warn('purge-flag-deprecated', [
|
|
390
391
|
'The `--purge` flag has been deprecated.',
|
|
391
|
-
'Please use `--content` instead.'
|
|
392
|
+
'Please use `--content` instead.',
|
|
392
393
|
]);
|
|
393
394
|
if (!args['--content']) {
|
|
394
|
-
args['--content'] = [
|
|
395
|
-
'--purge'
|
|
396
|
-
];
|
|
395
|
+
args['--content'] = args['--purge'];
|
|
397
396
|
}
|
|
398
397
|
}
|
|
399
398
|
if (args['--content']) {
|
|
@@ -410,7 +409,8 @@ async function build() {
|
|
|
410
409
|
// like an object it's probably a raw content object. But this object
|
|
411
410
|
// is not watchable, so let's remove it.
|
|
412
411
|
return typeof file === 'string';
|
|
413
|
-
})
|
|
412
|
+
}).map((glob)=>(0, _normalizePath).default(glob)
|
|
413
|
+
);
|
|
414
414
|
}
|
|
415
415
|
function extractRawContent(config) {
|
|
416
416
|
return extractContent(config).filter((file)=>{
|
package/lib/corePluginList.js
CHANGED
package/lib/corePlugins.js
CHANGED
|
@@ -263,7 +263,7 @@ var _default = {
|
|
|
263
263
|
let mode = config('darkMode', 'media');
|
|
264
264
|
if (mode === false) {
|
|
265
265
|
mode = 'media';
|
|
266
|
-
_log.default.warn([
|
|
266
|
+
_log.default.warn('darkmode-false', [
|
|
267
267
|
'`darkMode` is set to `false` in your config.',
|
|
268
268
|
'This will behave just like the `media` value.',
|
|
269
269
|
]);
|
|
@@ -1146,6 +1146,165 @@ var _default = {
|
|
|
1146
1146
|
}
|
|
1147
1147
|
});
|
|
1148
1148
|
},
|
|
1149
|
+
scrollSnapType: ({ addUtilities , addBase })=>{
|
|
1150
|
+
addBase({
|
|
1151
|
+
'@defaults scroll-snap-type': {
|
|
1152
|
+
'--tw-scroll-snap-strictness': 'proximity'
|
|
1153
|
+
}
|
|
1154
|
+
});
|
|
1155
|
+
addUtilities({
|
|
1156
|
+
'.snap-none': {
|
|
1157
|
+
'scroll-snap-type': 'none'
|
|
1158
|
+
},
|
|
1159
|
+
'.snap-x': {
|
|
1160
|
+
'@defaults scroll-snap-type': {
|
|
1161
|
+
},
|
|
1162
|
+
'scroll-snap-type': 'x var(--tw-scroll-snap-strictness)'
|
|
1163
|
+
},
|
|
1164
|
+
'.snap-y': {
|
|
1165
|
+
'@defaults scroll-snap-type': {
|
|
1166
|
+
},
|
|
1167
|
+
'scroll-snap-type': 'y var(--tw-scroll-snap-strictness)'
|
|
1168
|
+
},
|
|
1169
|
+
'.snap-both': {
|
|
1170
|
+
'@defaults scroll-snap-type': {
|
|
1171
|
+
},
|
|
1172
|
+
'scroll-snap-type': 'both var(--tw-scroll-snap-strictness)'
|
|
1173
|
+
},
|
|
1174
|
+
'.snap-mandatory': {
|
|
1175
|
+
'--tw-scroll-snap-strictness': 'mandatory'
|
|
1176
|
+
},
|
|
1177
|
+
'.snap-proximity': {
|
|
1178
|
+
'--tw-scroll-snap-strictness': 'proximity'
|
|
1179
|
+
}
|
|
1180
|
+
});
|
|
1181
|
+
},
|
|
1182
|
+
scrollSnapAlign: ({ addUtilities })=>{
|
|
1183
|
+
addUtilities({
|
|
1184
|
+
'.snap-start': {
|
|
1185
|
+
'scroll-snap-align': 'start'
|
|
1186
|
+
},
|
|
1187
|
+
'.snap-end': {
|
|
1188
|
+
'scroll-snap-align': 'end'
|
|
1189
|
+
},
|
|
1190
|
+
'.snap-center': {
|
|
1191
|
+
'scroll-snap-align': 'center'
|
|
1192
|
+
},
|
|
1193
|
+
'.snap-align-none': {
|
|
1194
|
+
'scroll-snap-align': 'none'
|
|
1195
|
+
}
|
|
1196
|
+
});
|
|
1197
|
+
},
|
|
1198
|
+
scrollSnapStop: ({ addUtilities })=>{
|
|
1199
|
+
addUtilities({
|
|
1200
|
+
'.snap-normal': {
|
|
1201
|
+
'scroll-snap-stop': 'normal'
|
|
1202
|
+
},
|
|
1203
|
+
'.snap-always': {
|
|
1204
|
+
'scroll-snap-stop': 'always'
|
|
1205
|
+
}
|
|
1206
|
+
});
|
|
1207
|
+
},
|
|
1208
|
+
scrollMargin: (0, _createUtilityPlugin).default('scrollMargin', [
|
|
1209
|
+
[
|
|
1210
|
+
'scroll-m',
|
|
1211
|
+
[
|
|
1212
|
+
'scroll-margin'
|
|
1213
|
+
]
|
|
1214
|
+
],
|
|
1215
|
+
[
|
|
1216
|
+
[
|
|
1217
|
+
'scroll-mx',
|
|
1218
|
+
[
|
|
1219
|
+
'scroll-margin-left',
|
|
1220
|
+
'scroll-margin-right'
|
|
1221
|
+
]
|
|
1222
|
+
],
|
|
1223
|
+
[
|
|
1224
|
+
'scroll-my',
|
|
1225
|
+
[
|
|
1226
|
+
'scroll-margin-top',
|
|
1227
|
+
'scroll-margin-bottom'
|
|
1228
|
+
]
|
|
1229
|
+
],
|
|
1230
|
+
],
|
|
1231
|
+
[
|
|
1232
|
+
[
|
|
1233
|
+
'scroll-mt',
|
|
1234
|
+
[
|
|
1235
|
+
'scroll-margin-top'
|
|
1236
|
+
]
|
|
1237
|
+
],
|
|
1238
|
+
[
|
|
1239
|
+
'scroll-mr',
|
|
1240
|
+
[
|
|
1241
|
+
'scroll-margin-right'
|
|
1242
|
+
]
|
|
1243
|
+
],
|
|
1244
|
+
[
|
|
1245
|
+
'scroll-mb',
|
|
1246
|
+
[
|
|
1247
|
+
'scroll-margin-bottom'
|
|
1248
|
+
]
|
|
1249
|
+
],
|
|
1250
|
+
[
|
|
1251
|
+
'scroll-ml',
|
|
1252
|
+
[
|
|
1253
|
+
'scroll-margin-left'
|
|
1254
|
+
]
|
|
1255
|
+
],
|
|
1256
|
+
],
|
|
1257
|
+
]),
|
|
1258
|
+
scrollPadding: (0, _createUtilityPlugin).default('scrollPadding', [
|
|
1259
|
+
[
|
|
1260
|
+
'scroll-p',
|
|
1261
|
+
[
|
|
1262
|
+
'scroll-padding'
|
|
1263
|
+
]
|
|
1264
|
+
],
|
|
1265
|
+
[
|
|
1266
|
+
[
|
|
1267
|
+
'scroll-px',
|
|
1268
|
+
[
|
|
1269
|
+
'scroll-padding-left',
|
|
1270
|
+
'scroll-padding-right'
|
|
1271
|
+
]
|
|
1272
|
+
],
|
|
1273
|
+
[
|
|
1274
|
+
'scroll-py',
|
|
1275
|
+
[
|
|
1276
|
+
'scroll-padding-top',
|
|
1277
|
+
'scroll-padding-bottom'
|
|
1278
|
+
]
|
|
1279
|
+
],
|
|
1280
|
+
],
|
|
1281
|
+
[
|
|
1282
|
+
[
|
|
1283
|
+
'scroll-pt',
|
|
1284
|
+
[
|
|
1285
|
+
'scroll-padding-top'
|
|
1286
|
+
]
|
|
1287
|
+
],
|
|
1288
|
+
[
|
|
1289
|
+
'scroll-pr',
|
|
1290
|
+
[
|
|
1291
|
+
'scroll-padding-right'
|
|
1292
|
+
]
|
|
1293
|
+
],
|
|
1294
|
+
[
|
|
1295
|
+
'scroll-pb',
|
|
1296
|
+
[
|
|
1297
|
+
'scroll-padding-bottom'
|
|
1298
|
+
]
|
|
1299
|
+
],
|
|
1300
|
+
[
|
|
1301
|
+
'scroll-pl',
|
|
1302
|
+
[
|
|
1303
|
+
'scroll-padding-left'
|
|
1304
|
+
]
|
|
1305
|
+
],
|
|
1306
|
+
],
|
|
1307
|
+
]),
|
|
1149
1308
|
listStylePosition: ({ addUtilities })=>{
|
|
1150
1309
|
addUtilities({
|
|
1151
1310
|
'.list-inside': {
|
|
@@ -1883,6 +2042,32 @@ var _default = {
|
|
|
1883
2042
|
'border-width'
|
|
1884
2043
|
]
|
|
1885
2044
|
],
|
|
2045
|
+
[
|
|
2046
|
+
[
|
|
2047
|
+
'border-x',
|
|
2048
|
+
[
|
|
2049
|
+
[
|
|
2050
|
+
'@defaults border-width',
|
|
2051
|
+
{
|
|
2052
|
+
}
|
|
2053
|
+
],
|
|
2054
|
+
'border-left-width',
|
|
2055
|
+
'border-right-width'
|
|
2056
|
+
]
|
|
2057
|
+
],
|
|
2058
|
+
[
|
|
2059
|
+
'border-y',
|
|
2060
|
+
[
|
|
2061
|
+
[
|
|
2062
|
+
'@defaults border-width',
|
|
2063
|
+
{
|
|
2064
|
+
}
|
|
2065
|
+
],
|
|
2066
|
+
'border-top-width',
|
|
2067
|
+
'border-bottom-width'
|
|
2068
|
+
]
|
|
2069
|
+
],
|
|
2070
|
+
],
|
|
1886
2071
|
[
|
|
1887
2072
|
[
|
|
1888
2073
|
'border-t',
|
|
@@ -1994,6 +2179,44 @@ var _default = {
|
|
|
1994
2179
|
'color'
|
|
1995
2180
|
]
|
|
1996
2181
|
});
|
|
2182
|
+
matchUtilities({
|
|
2183
|
+
'border-x': (value)=>{
|
|
2184
|
+
if (!corePlugins('borderOpacity')) {
|
|
2185
|
+
return {
|
|
2186
|
+
'border-left-color': (0, _toColorValue).default(value),
|
|
2187
|
+
'border-right-color': (0, _toColorValue).default(value)
|
|
2188
|
+
};
|
|
2189
|
+
}
|
|
2190
|
+
return (0, _withAlphaVariable).default({
|
|
2191
|
+
color: value,
|
|
2192
|
+
property: [
|
|
2193
|
+
'border-left-color',
|
|
2194
|
+
'border-right-color'
|
|
2195
|
+
],
|
|
2196
|
+
variable: '--tw-border-opacity'
|
|
2197
|
+
});
|
|
2198
|
+
},
|
|
2199
|
+
'border-y': (value)=>{
|
|
2200
|
+
if (!corePlugins('borderOpacity')) {
|
|
2201
|
+
return {
|
|
2202
|
+
'border-top-color': (0, _toColorValue).default(value),
|
|
2203
|
+
'border-bottom-color': (0, _toColorValue).default(value)
|
|
2204
|
+
};
|
|
2205
|
+
}
|
|
2206
|
+
return (0, _withAlphaVariable).default({
|
|
2207
|
+
color: value,
|
|
2208
|
+
property: [
|
|
2209
|
+
'border-top-color',
|
|
2210
|
+
'border-bottom-color'
|
|
2211
|
+
],
|
|
2212
|
+
variable: '--tw-border-opacity'
|
|
2213
|
+
});
|
|
2214
|
+
}
|
|
2215
|
+
}, {
|
|
2216
|
+
values: (({ DEFAULT: _ , ...colors })=>colors
|
|
2217
|
+
)((0, _flattenColorPalette).default(theme('borderColor'))),
|
|
2218
|
+
type: 'color'
|
|
2219
|
+
});
|
|
1997
2220
|
matchUtilities({
|
|
1998
2221
|
'border-t': (value)=>{
|
|
1999
2222
|
if (!corePlugins('borderOpacity')) {
|
package/lib/featureFlags.js
CHANGED
|
@@ -47,7 +47,7 @@ function issueFlagNotices(config) {
|
|
|
47
47
|
if (experimentalFlagsEnabled(config).length > 0) {
|
|
48
48
|
const changes = experimentalFlagsEnabled(config).map((s)=>_chalk.default.yellow(s)
|
|
49
49
|
).join(', ');
|
|
50
|
-
_log.default.warn([
|
|
50
|
+
_log.default.warn('experimental-flags-enabled', [
|
|
51
51
|
`You have enabled experimental features: ${changes}`,
|
|
52
52
|
'Experimental features are not covered by semver, may introduce breaking changes, and can change at any time.',
|
|
53
53
|
]);
|
package/lib/lib/generateRules.js
CHANGED
|
@@ -9,6 +9,7 @@ var _parseObjectStyles = _interopRequireDefault(require("../util/parseObjectStyl
|
|
|
9
9
|
var _isPlainObject = _interopRequireDefault(require("../util/isPlainObject"));
|
|
10
10
|
var _prefixSelector = _interopRequireDefault(require("../util/prefixSelector"));
|
|
11
11
|
var _pluginUtils = require("../util/pluginUtils");
|
|
12
|
+
var _log = _interopRequireDefault(require("../util/log"));
|
|
12
13
|
function _interopRequireDefault(obj) {
|
|
13
14
|
return obj && obj.__esModule ? obj : {
|
|
14
15
|
default: obj
|
|
@@ -244,16 +245,18 @@ function* resolveMatches(candidate, context) {
|
|
|
244
245
|
// }
|
|
245
246
|
for (let matchedPlugins of resolveMatchedPlugins(classCandidate, context)){
|
|
246
247
|
let matches = [];
|
|
248
|
+
let typesByMatches = new Map();
|
|
247
249
|
let [plugins, modifier] = matchedPlugins;
|
|
248
250
|
let isOnlyPlugin = plugins.length === 1;
|
|
249
251
|
for (let [sort, plugin] of plugins){
|
|
252
|
+
let matchesPerPlugin = [];
|
|
250
253
|
if (typeof plugin === 'function') {
|
|
251
254
|
for (let ruleSet of [].concat(plugin(modifier, {
|
|
252
255
|
isOnlyPlugin
|
|
253
256
|
}))){
|
|
254
257
|
let [rules, options] = parseRules(ruleSet, context.postCssNodeCache);
|
|
255
258
|
for (let rule of rules){
|
|
256
|
-
|
|
259
|
+
matchesPerPlugin.push([
|
|
257
260
|
{
|
|
258
261
|
...sort,
|
|
259
262
|
options: {
|
|
@@ -269,7 +272,7 @@ function* resolveMatches(candidate, context) {
|
|
|
269
272
|
let ruleSet = plugin;
|
|
270
273
|
let [rules, options] = parseRules(ruleSet, context.postCssNodeCache);
|
|
271
274
|
for (let rule of rules){
|
|
272
|
-
|
|
275
|
+
matchesPerPlugin.push([
|
|
273
276
|
{
|
|
274
277
|
...sort,
|
|
275
278
|
options: {
|
|
@@ -281,8 +284,58 @@ function* resolveMatches(candidate, context) {
|
|
|
281
284
|
]);
|
|
282
285
|
}
|
|
283
286
|
}
|
|
287
|
+
if (matchesPerPlugin.length > 0) {
|
|
288
|
+
var ref;
|
|
289
|
+
typesByMatches.set(matchesPerPlugin, (ref = sort.options) === null || ref === void 0 ? void 0 : ref.type);
|
|
290
|
+
matches.push(matchesPerPlugin);
|
|
291
|
+
}
|
|
284
292
|
}
|
|
285
|
-
|
|
293
|
+
// Only keep the result of the very first plugin if we are dealing with
|
|
294
|
+
// arbitrary values, to protect against ambiguity.
|
|
295
|
+
if (isArbitraryValue(modifier) && matches.length > 1) {
|
|
296
|
+
var ref;
|
|
297
|
+
let typesPerPlugin = matches.map((match)=>new Set([
|
|
298
|
+
...(ref = typesByMatches.get(match)) !== null && ref !== void 0 ? ref : []
|
|
299
|
+
])
|
|
300
|
+
);
|
|
301
|
+
// Remove duplicates, so that we can detect proper unique types for each plugin.
|
|
302
|
+
for (let pluginTypes of typesPerPlugin){
|
|
303
|
+
for (let type of pluginTypes){
|
|
304
|
+
let removeFromOwnGroup = false;
|
|
305
|
+
for (let otherGroup of typesPerPlugin){
|
|
306
|
+
if (pluginTypes === otherGroup) continue;
|
|
307
|
+
if (otherGroup.has(type)) {
|
|
308
|
+
otherGroup.delete(type);
|
|
309
|
+
removeFromOwnGroup = true;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
if (removeFromOwnGroup) pluginTypes.delete(type);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
let messages = [];
|
|
316
|
+
for (let [idx, group] of typesPerPlugin.entries()){
|
|
317
|
+
for (let type of group){
|
|
318
|
+
let rules = matches[idx].map(([, rule])=>rule
|
|
319
|
+
).flat().map((rule)=>rule.toString().split('\n').slice(1, -1) // Remove selector and closing '}'
|
|
320
|
+
.map((line)=>line.trim()
|
|
321
|
+
).map((x)=>` ${x}`
|
|
322
|
+
) // Re-indent
|
|
323
|
+
.join('\n')
|
|
324
|
+
).join('\n\n');
|
|
325
|
+
messages.push(` - Replace "${candidate}" with "${candidate.replace('[', `[${type}:`)}" for:\n${rules}\n`);
|
|
326
|
+
break;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
_log.default.warn([
|
|
330
|
+
// TODO: Update URL
|
|
331
|
+
`The class "${candidate}" is ambiguous and matches multiple utilities. Use a type hint (https://tailwindcss.com/docs/just-in-time-mode#ambiguous-values) to fix this.`,
|
|
332
|
+
'',
|
|
333
|
+
...messages,
|
|
334
|
+
`If this is just part of your content and not a class, replace it with "${candidate.replace('[', '[').replace(']', ']')}" to silence this warning.`,
|
|
335
|
+
]);
|
|
336
|
+
continue;
|
|
337
|
+
}
|
|
338
|
+
matches = applyPrefix(matches.flat(), context);
|
|
286
339
|
if (important) {
|
|
287
340
|
matches = applyImportant(matches, context);
|
|
288
341
|
}
|
|
@@ -346,5 +399,8 @@ function generateRules(candidates, context) {
|
|
|
346
399
|
];
|
|
347
400
|
});
|
|
348
401
|
}
|
|
402
|
+
function isArbitraryValue(input) {
|
|
403
|
+
return input.startsWith('[') && input.endsWith(']');
|
|
404
|
+
}
|
|
349
405
|
exports.resolveMatches = resolveMatches;
|
|
350
406
|
exports.generateRules = generateRules;
|
|
@@ -43,7 +43,7 @@ function normalizeTailwindDirectives(root) {
|
|
|
43
43
|
'responsive',
|
|
44
44
|
'variants'
|
|
45
45
|
].includes(atRule.name)) {
|
|
46
|
-
_log.default.warn([
|
|
46
|
+
_log.default.warn(`${atRule.name}-at-rule-deprecated`, [
|
|
47
47
|
`'@${atRule.name}' is deprecated, use '@layer utilities' or '@layer components' instead.`,
|
|
48
48
|
]);
|
|
49
49
|
}
|
|
@@ -593,8 +593,6 @@ function registerPlugins(plugins, context) {
|
|
|
593
593
|
]
|
|
594
594
|
));
|
|
595
595
|
}
|
|
596
|
-
//
|
|
597
|
-
let warnedAbout = new Set([]);
|
|
598
596
|
context.safelist = function() {
|
|
599
597
|
var _safelist;
|
|
600
598
|
let safelist = ((_safelist = context.tailwindConfig.safelist) !== null && _safelist !== void 0 ? _safelist : []).filter(Boolean);
|
|
@@ -607,14 +605,11 @@ function registerPlugins(plugins, context) {
|
|
|
607
605
|
continue;
|
|
608
606
|
}
|
|
609
607
|
if (value instanceof RegExp) {
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
]);
|
|
616
|
-
warnedAbout.add('root-regex');
|
|
617
|
-
}
|
|
608
|
+
_log.default.warn('root-regex', [
|
|
609
|
+
// TODO: Improve this warning message
|
|
610
|
+
'RegExp in the safelist option is not supported.',
|
|
611
|
+
'Please use the object syntax instead: https://tailwindcss.com/docs/...',
|
|
612
|
+
]);
|
|
618
613
|
continue;
|
|
619
614
|
}
|
|
620
615
|
checks.push(value);
|
|
@@ -29,7 +29,7 @@ function getCandidateFiles(context, tailwindConfig) {
|
|
|
29
29
|
return candidateFilesCache.get(context);
|
|
30
30
|
}
|
|
31
31
|
let candidateFiles = tailwindConfig.content.content.filter((item)=>typeof item === 'string'
|
|
32
|
-
).map((contentPath)=>(0, _normalizePath).default(
|
|
32
|
+
).map((contentPath)=>(0, _normalizePath).default(contentPath)
|
|
33
33
|
);
|
|
34
34
|
return candidateFilesCache.set(context, candidateFiles).get(context);
|
|
35
35
|
}
|
|
@@ -149,7 +149,10 @@ function setupTrackingContext(configOrPath) {
|
|
|
149
149
|
let fileModifiedMap = (0, _setupContextUtils).getFileModifiedMap(context);
|
|
150
150
|
// Add template paths as postcss dependencies.
|
|
151
151
|
for (let fileOrGlob of candidateFiles){
|
|
152
|
-
|
|
152
|
+
let dependency = (0, _parseDependency).default(fileOrGlob);
|
|
153
|
+
if (dependency) {
|
|
154
|
+
registerDependency(dependency);
|
|
155
|
+
}
|
|
153
156
|
}
|
|
154
157
|
for (let changedContent of resolvedChangedContent(context, candidateFiles, fileModifiedMap)){
|
|
155
158
|
context.changedContent.push(changedContent);
|
|
@@ -137,7 +137,7 @@ function getCandidateFiles(context, tailwindConfig) {
|
|
|
137
137
|
return candidateFilesCache.get(context);
|
|
138
138
|
}
|
|
139
139
|
let candidateFiles = tailwindConfig.content.content.filter((item)=>typeof item === 'string'
|
|
140
|
-
).map((contentPath)=>(0, _normalizePath).default(
|
|
140
|
+
).map((contentPath)=>(0, _normalizePath).default(contentPath)
|
|
141
141
|
);
|
|
142
142
|
return candidateFilesCache.set(context, candidateFiles).get(context);
|
|
143
143
|
}
|
package/lib/public/colors.js
CHANGED
|
@@ -9,15 +9,11 @@ function _interopRequireDefault(obj) {
|
|
|
9
9
|
default: obj
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
|
-
let warned = [];
|
|
13
12
|
function warn({ version , from , to }) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
]);
|
|
19
|
-
warned.push(from);
|
|
20
|
-
}
|
|
13
|
+
_log.default.warn(`${from}-color-rename`, [
|
|
14
|
+
`As of Tailwind CSS ${version}, \`${from}\` has been renamed to \`${to}\`.`,
|
|
15
|
+
'Please update your color palette to eliminate this warning.',
|
|
16
|
+
]);
|
|
21
17
|
}
|
|
22
18
|
var _default = {
|
|
23
19
|
inherit: 'inherit',
|
package/lib/util/log.js
CHANGED
|
@@ -9,27 +9,39 @@ function _interopRequireDefault(obj) {
|
|
|
9
9
|
default: obj
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
|
+
let alreadyShown = new Set();
|
|
13
|
+
function log(chalk, messages, key) {
|
|
14
|
+
if (process.env.JEST_WORKER_ID !== undefined) return;
|
|
15
|
+
if (key && alreadyShown.has(key)) return;
|
|
16
|
+
if (key) alreadyShown.add(key);
|
|
17
|
+
console.warn('');
|
|
18
|
+
messages.forEach((message)=>console.warn(chalk, '-', message)
|
|
19
|
+
);
|
|
20
|
+
}
|
|
12
21
|
var _default = {
|
|
13
|
-
info (messages) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
22
|
+
info (key, messages) {
|
|
23
|
+
log(_chalk.default.bold.cyan('info'), ...Array.isArray(key) ? [
|
|
24
|
+
key
|
|
25
|
+
] : [
|
|
26
|
+
messages,
|
|
27
|
+
key
|
|
28
|
+
]);
|
|
19
29
|
},
|
|
20
|
-
warn (messages) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
30
|
+
warn (key, messages) {
|
|
31
|
+
log(_chalk.default.bold.yellow('warn'), ...Array.isArray(key) ? [
|
|
32
|
+
key
|
|
33
|
+
] : [
|
|
34
|
+
messages,
|
|
35
|
+
key
|
|
36
|
+
]);
|
|
26
37
|
},
|
|
27
|
-
risk (messages) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
38
|
+
risk (key, messages) {
|
|
39
|
+
log(_chalk.default.bold.magenta('risk'), ...Array.isArray(key) ? [
|
|
40
|
+
key
|
|
41
|
+
] : [
|
|
42
|
+
messages,
|
|
43
|
+
key
|
|
44
|
+
]);
|
|
33
45
|
}
|
|
34
46
|
};
|
|
35
47
|
exports.default = _default;
|
|
@@ -34,6 +34,9 @@ function parseGlob(pattern) {
|
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
36
|
function parseDependency(normalizedFileOrGlob) {
|
|
37
|
+
if (normalizedFileOrGlob.startsWith('!')) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
37
40
|
let message;
|
|
38
41
|
if ((0, _isGlob).default(normalizedFileOrGlob)) {
|
|
39
42
|
let { base , glob } = parseGlob(normalizedFileOrGlob);
|
|
@@ -44,11 +44,10 @@ const configUtils = {
|
|
|
44
44
|
colors: _colors.default,
|
|
45
45
|
negative (scale) {
|
|
46
46
|
return Object.keys(scale).filter((key)=>scale[key] !== '0'
|
|
47
|
-
).reduce((negativeScale, key)=>
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
, {
|
|
47
|
+
).reduce((negativeScale, key)=>{
|
|
48
|
+
negativeScale[`-${key}`] = (0, _negateValue).default(scale[key]);
|
|
49
|
+
return negativeScale;
|
|
50
|
+
}, {
|
|
52
51
|
});
|
|
53
52
|
},
|
|
54
53
|
breakpoints (screens) {
|
|
@@ -229,16 +228,12 @@ function resolveConfig(configs) {
|
|
|
229
228
|
}))
|
|
230
229
|
}, ...allConfigs));
|
|
231
230
|
}
|
|
232
|
-
let warnedAbout = new Set();
|
|
233
231
|
function normalizeConfig(config) {
|
|
234
232
|
var ref, ref1, ref2, ref3, ref4, ref5;
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
]);
|
|
240
|
-
warnedAbout.add('purge-deprecation');
|
|
241
|
-
}
|
|
233
|
+
_log.default.warn('purge-deprecation', [
|
|
234
|
+
'The `purge` option in your tailwind.config.js file has been deprecated.',
|
|
235
|
+
'Please rename this to `content` instead.',
|
|
236
|
+
]);
|
|
242
237
|
config.content = {
|
|
243
238
|
content: (()=>{
|
|
244
239
|
let { content , purge } = config;
|