@lorenzo.franzone/tws
Version:
Tailwind 4 Styles Generator
49 lines (48 loc) • 2.49 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.LayoutConfigProcessor = void 0;
const path_1 = require("path");
const baseLayout_1 = __importDefault(require("./baseLayout"));
const layoutAreas_1 = __importDefault(require("./layoutAreas"));
const layoutLandmarks_1 = __importDefault(require("./layoutLandmarks"));
const layoutStructure_1 = __importDefault(require("./layoutStructure"));
const layoutUtilities_1 = __importDefault(require("./layoutUtilities"));
const processLayout_1 = require("./processLayout");
class LayoutConfigProcessor {
async processConfig(config, force) {
const processedLayout = (0, processLayout_1.processLayout)(config);
const { outDir, data } = processedLayout;
// --------------------------------------------------
// Css
// Config
const baseLayoutCss = (0, baseLayout_1.default)(data);
// Utilities
const layoutUtilitiesCss = layoutUtilities_1.default;
// Structure
const layoutStructureCss = layoutStructure_1.default;
// Landmarks
const layoutLandmarksCss = layoutLandmarks_1.default;
// Areas
const layoutAreasCss = layoutAreas_1.default;
// Layout index
let layoutIndex = '@import "./_base-layout.css";\n';
layoutIndex += '@import "./_layout-utilities.css";\n';
layoutIndex += '@import "./_layout-structure.css";\n';
layoutIndex += '@import "./_layout-landmarks.css";\n';
layoutIndex += '@import "./_layout-areas.css";\n';
// --------------------------------------------------
// Write files
return [
{ path: (0, path_1.join)(outDir, '_base-layout.css'), content: baseLayoutCss },
{ path: (0, path_1.join)(outDir, '_layout-utilities.css'), content: layoutUtilitiesCss },
{ path: (0, path_1.join)(outDir, '_layout-structure.css'), content: layoutStructureCss },
{ path: (0, path_1.join)(outDir, '_layout-landmarks.css'), content: layoutLandmarksCss },
{ path: (0, path_1.join)(outDir, '_layout-areas.css'), content: layoutAreasCss },
{ path: (0, path_1.join)(outDir, 'layout.css'), content: layoutIndex },
].filter((file) => file.content !== undefined);
}
}
exports.LayoutConfigProcessor = LayoutConfigProcessor;