refactor: fixPath

This commit is contained in:
Barış Soner Uşaklı
2022-08-22 13:14:05 -04:00
parent 196d22be16
commit 11c7a02aaf

View File

@@ -6,6 +6,7 @@ const fs = require('fs');
const util = require('util');
const path = require('path');
const rimraf = require('rimraf');
const url = require('url');
const rimrafAsync = util.promisify(rimraf);
@@ -72,22 +73,23 @@ async function filterMissingFiles(filepaths) {
return filepaths.filter((filePath, i) => exists[i]);
}
async function getImports(files, prefix, extension) {
async function getImports(files, extension) {
const pluginDirectories = [];
let source = '';
function fixPath(file) {
function pathToImport(file) {
if (!file) {
return;
return '';
}
// trim css extension so it inlines the css like less (inline)
const parsed = path.parse(file);
const newFile = path.join(parsed.dir, parsed.name);
return newFile.replace(/\\/g, '/');
return `\n@import "${newFile.replace(/\\/g, '/')}";`;
}
files.forEach((styleFile) => {
if (styleFile.endsWith(extension)) {
source += `${prefix + fixPath(styleFile)}";`;
source += pathToImport(styleFile);
} else {
pluginDirectories.push(styleFile);
}
@@ -95,7 +97,7 @@ async function getImports(files, prefix, extension) {
await Promise.all(pluginDirectories.map(async (directory) => {
const styleFiles = await file.walk(directory);
styleFiles.forEach((styleFile) => {
source += `${prefix + fixPath(styleFile)}";`;
source += pathToImport(styleFile);
});
}));
return source;
@@ -133,9 +135,9 @@ async function getBundleMetadata(target) {
}
const [scssImports, cssImports, acpScssImports] = await Promise.all([
filterGetImports(plugins.scssFiles, '\n@import "', '.scss'),
filterGetImports(plugins.cssFiles, '\n@import "', ''),
target === 'client' ? '' : filterGetImports(plugins.acpScssFiles, '\n@import "', '.scss'),
filterGetImports(plugins.scssFiles, '.scss'),
filterGetImports(plugins.cssFiles, '.css'),
target === 'client' ? '' : filterGetImports(plugins.acpScssFiles, '.scss'),
]);
async function filterGetImports(files, prefix, extension) {