Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions lib/util/cssFiles.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
'use strict';

const fg = require('fast-glob');
const { globSync } = require('tinyglobby');
const fs = require('fs');
const postcss = require('postcss');
const lastClassFromSelectorRegexp = /\.([^\.\,\s\n\:\(\)\[\]\'~\+\>\*\\]*)/gim;
Expand Down Expand Up @@ -29,24 +29,24 @@ const generateClassnamesListSync = (patterns, refreshRate = 5_000) => {
// Update classnames from CSS files
lastUpdate = now;
const filesToBeRemoved = new Set([...cssFilesInfos.keys()]);
const files = fg.sync(patterns, { suppressErrors: true, stats: true });
const files = globSync(patterns, { expandDirectories: false });
for (const file of files) {
let mtime = '';
let canBeSkipped = cssFilesInfos.has(file.path);
let canBeSkipped = cssFilesInfos.has(file);
if (canBeSkipped) {
// This file is still used
filesToBeRemoved.delete(file.path);
filesToBeRemoved.delete(file);
// Check modification date
const stats = fs.statSync(file.path);
const stats = fs.statSync(file);
mtime = `${stats.mtime || ''}`;
canBeSkipped = cssFilesInfos.get(file.path).mtime === mtime;
canBeSkipped = cssFilesInfos.get(file).mtime === mtime;
}
if (canBeSkipped) {
// File did not change since last run
continue;
}
// Parse CSS file
const data = fs.readFileSync(file.path, 'utf-8');
const data = fs.readFileSync(file, 'utf-8');
const root = postcss.parse(data);
let detectedClassnames = new Set();
root.walkRules((rule) => {
Expand All @@ -55,7 +55,7 @@ const generateClassnamesListSync = (patterns, refreshRate = 5_000) => {
detectedClassnames = new Set([...detectedClassnames, ...classnames]);
});
// Save the detected classnames
cssFilesInfos.set(file.path, {
cssFilesInfos.set(file, {
mtime: mtime,
classNames: [...detectedClassnames],
});
Expand Down
71 changes: 69 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@
"tailwindcss": "^3.4.0 || ^4.0.0"
},
"dependencies": {
"fast-glob": "^3.2.5",
"postcss": "^8.4.4",
"synckit": "^0.11.4",
"tailwind-api-utils": "^1.0.3"
"tailwind-api-utils": "^1.0.3",
"tinyglobby": "^0.2.12"
},
"devDependencies": {
"@angular-eslint/template-parser": "^15.2.0",
Expand Down