chore: remove dist
This commit is contained in:
parent
6e6daf9511
commit
3129fe34de
4
.gitignore
vendored
4
.gitignore
vendored
@ -2,4 +2,6 @@ node_modules
|
||||
build
|
||||
yarn-error.log
|
||||
test/dist
|
||||
package-lock.json
|
||||
package-lock.json
|
||||
dist
|
||||
test/dist
|
||||
125
dist/index.esm.js
vendored
125
dist/index.esm.js
vendored
@ -1,125 +0,0 @@
|
||||
import {ensureDir, readFile, writeFile} from "fs-extra";
|
||||
import {TextDecoder} from "util";
|
||||
import path from "path";
|
||||
import tmp from "tmp";
|
||||
import postcss from "postcss";
|
||||
import postcssModules from "postcss-modules";
|
||||
import less from "less";
|
||||
import stylus from "stylus";
|
||||
import resolveFile from "resolve-file";
|
||||
const postCSSPlugin = ({
|
||||
plugins = [],
|
||||
modules = true,
|
||||
rootDir = process.cwd()
|
||||
}) => ({
|
||||
name: "postcss2",
|
||||
setup(build) {
|
||||
const tmpDirPath = tmp.dirSync().name, modulesMap = [];
|
||||
const modulesPlugin = postcssModules({
|
||||
generateScopedName: "[name]__[local]___[hash:base64:5]",
|
||||
...typeof modules !== "boolean" ? modules : {},
|
||||
getJSON(filepath, json, outpath) {
|
||||
const mapIndex = modulesMap.findIndex((m) => m.path === filepath);
|
||||
if (mapIndex !== -1) {
|
||||
modulesMap[mapIndex].map = json;
|
||||
} else {
|
||||
modulesMap.push({
|
||||
path: filepath,
|
||||
map: json
|
||||
});
|
||||
}
|
||||
if (typeof modules !== "boolean" && typeof modules.getJSON === "function")
|
||||
return modules.getJSON(filepath, json, outpath);
|
||||
}
|
||||
});
|
||||
build.onResolve({filter: /.\.(css|sass|scss|less|styl)$/}, async (args) => {
|
||||
if (args.namespace !== "file" && args.namespace !== "")
|
||||
return;
|
||||
let sourceFullPath = resolveFile(args.path);
|
||||
if (!sourceFullPath)
|
||||
sourceFullPath = path.resolve(args.resolveDir, args.path);
|
||||
const sourceExt = path.extname(sourceFullPath);
|
||||
const sourceBaseName = path.basename(sourceFullPath, sourceExt);
|
||||
const sourceDir = path.dirname(sourceFullPath);
|
||||
const sourceRelDir = path.relative(path.dirname(rootDir), sourceDir);
|
||||
const isModule = sourceBaseName.match(/\.module$/);
|
||||
const tmpDir = path.resolve(tmpDirPath, sourceRelDir);
|
||||
let tmpFilePath = path.resolve(tmpDir, `${Date.now()}-${sourceBaseName}.css`);
|
||||
if (args.kind === "entry-point")
|
||||
tmpFilePath = path.resolve(tmpDir, `${sourceBaseName}.css`);
|
||||
await ensureDir(tmpDir);
|
||||
const fileContent = await readFile(sourceFullPath);
|
||||
let css = sourceExt === ".css" ? fileContent : "";
|
||||
if (sourceExt === ".sass" || sourceExt === ".scss")
|
||||
css = (await renderSass({file: sourceFullPath})).css.toString();
|
||||
if (sourceExt === ".styl")
|
||||
css = await renderStylus(new TextDecoder().decode(fileContent), {
|
||||
filename: sourceFullPath
|
||||
});
|
||||
if (sourceExt === ".less")
|
||||
css = (await less.render(new TextDecoder().decode(fileContent), {
|
||||
filename: sourceFullPath,
|
||||
rootpath: path.dirname(args.path)
|
||||
})).css;
|
||||
const result = await postcss(isModule ? [modulesPlugin, ...plugins] : plugins).process(css, {
|
||||
from: sourceFullPath,
|
||||
to: tmpFilePath
|
||||
});
|
||||
await writeFile(tmpFilePath, result.css);
|
||||
return {
|
||||
namespace: isModule ? "postcss-module" : "file",
|
||||
path: tmpFilePath,
|
||||
watchFiles: [sourceFullPath],
|
||||
pluginData: {
|
||||
originalPath: sourceFullPath
|
||||
}
|
||||
};
|
||||
});
|
||||
build.onLoad({filter: /.*/, namespace: "postcss-module"}, async (args) => {
|
||||
const mod = modulesMap.find(({path: path2}) => path2 === args?.pluginData?.originalPath), resolveDir = path.dirname(args.path);
|
||||
return {
|
||||
resolveDir,
|
||||
contents: `import ${JSON.stringify(args.path)};
|
||||
export default ${JSON.stringify(mod && mod.map ? mod.map : {})};`
|
||||
};
|
||||
});
|
||||
}
|
||||
});
|
||||
function renderSass(options) {
|
||||
return new Promise((resolve, reject) => {
|
||||
getSassImpl().render(options, (e, res) => {
|
||||
if (e)
|
||||
reject(e);
|
||||
else
|
||||
resolve(res);
|
||||
});
|
||||
});
|
||||
}
|
||||
function renderStylus(str, options) {
|
||||
return new Promise((resolve, reject) => {
|
||||
stylus.render(str, options, (e, res) => {
|
||||
if (e)
|
||||
reject(e);
|
||||
else
|
||||
resolve(res);
|
||||
});
|
||||
});
|
||||
}
|
||||
function getSassImpl() {
|
||||
let impl = "sass";
|
||||
try {
|
||||
require.resolve("sass");
|
||||
} catch {
|
||||
try {
|
||||
require.resolve("node-sass");
|
||||
impl = "node-sass";
|
||||
} catch {
|
||||
throw new Error('Please install "sass" or "node-sass" package');
|
||||
}
|
||||
}
|
||||
return require(impl);
|
||||
}
|
||||
var src_default = postCSSPlugin;
|
||||
export {
|
||||
src_default as default
|
||||
};
|
||||
148
dist/index.js
vendored
148
dist/index.js
vendored
@ -1,148 +0,0 @@
|
||||
var __create = Object.create;
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getProtoOf = Object.getPrototypeOf;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, {get: all[name], enumerable: true});
|
||||
};
|
||||
var __exportStar = (target, module2, desc) => {
|
||||
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
||||
for (let key of __getOwnPropNames(module2))
|
||||
if (!__hasOwnProp.call(target, key) && key !== "default")
|
||||
__defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
|
||||
}
|
||||
return target;
|
||||
};
|
||||
var __toModule = (module2) => {
|
||||
return __exportStar(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? {get: () => module2.default, enumerable: true} : {value: module2, enumerable: true})), module2);
|
||||
};
|
||||
__markAsModule(exports);
|
||||
__export(exports, {
|
||||
default: () => src_default
|
||||
});
|
||||
var import_fs_extra = __toModule(require("fs-extra"));
|
||||
var import_util = __toModule(require("util"));
|
||||
var import_path = __toModule(require("path"));
|
||||
var import_tmp = __toModule(require("tmp"));
|
||||
var import_postcss2 = __toModule(require("postcss"));
|
||||
var import_postcss_modules = __toModule(require("postcss-modules"));
|
||||
var import_less = __toModule(require("less"));
|
||||
var import_stylus = __toModule(require("stylus"));
|
||||
var import_resolve_file = __toModule(require("resolve-file"));
|
||||
const postCSSPlugin = ({
|
||||
plugins = [],
|
||||
modules = true,
|
||||
rootDir = process.cwd()
|
||||
}) => ({
|
||||
name: "postcss2",
|
||||
setup(build) {
|
||||
const tmpDirPath = import_tmp.default.dirSync().name, modulesMap = [];
|
||||
const modulesPlugin = (0, import_postcss_modules.default)({
|
||||
generateScopedName: "[name]__[local]___[hash:base64:5]",
|
||||
...typeof modules !== "boolean" ? modules : {},
|
||||
getJSON(filepath, json, outpath) {
|
||||
const mapIndex = modulesMap.findIndex((m) => m.path === filepath);
|
||||
if (mapIndex !== -1) {
|
||||
modulesMap[mapIndex].map = json;
|
||||
} else {
|
||||
modulesMap.push({
|
||||
path: filepath,
|
||||
map: json
|
||||
});
|
||||
}
|
||||
if (typeof modules !== "boolean" && typeof modules.getJSON === "function")
|
||||
return modules.getJSON(filepath, json, outpath);
|
||||
}
|
||||
});
|
||||
build.onResolve({filter: /.\.(css|sass|scss|less|styl)$/}, async (args) => {
|
||||
if (args.namespace !== "file" && args.namespace !== "")
|
||||
return;
|
||||
let sourceFullPath = (0, import_resolve_file.default)(args.path);
|
||||
if (!sourceFullPath)
|
||||
sourceFullPath = import_path.default.resolve(args.resolveDir, args.path);
|
||||
const sourceExt = import_path.default.extname(sourceFullPath);
|
||||
const sourceBaseName = import_path.default.basename(sourceFullPath, sourceExt);
|
||||
const sourceDir = import_path.default.dirname(sourceFullPath);
|
||||
const sourceRelDir = import_path.default.relative(import_path.default.dirname(rootDir), sourceDir);
|
||||
const isModule = sourceBaseName.match(/\.module$/);
|
||||
const tmpDir = import_path.default.resolve(tmpDirPath, sourceRelDir);
|
||||
let tmpFilePath = import_path.default.resolve(tmpDir, `${Date.now()}-${sourceBaseName}.css`);
|
||||
if (args.kind === "entry-point")
|
||||
tmpFilePath = import_path.default.resolve(tmpDir, `${sourceBaseName}.css`);
|
||||
await (0, import_fs_extra.ensureDir)(tmpDir);
|
||||
const fileContent = await (0, import_fs_extra.readFile)(sourceFullPath);
|
||||
let css = sourceExt === ".css" ? fileContent : "";
|
||||
if (sourceExt === ".sass" || sourceExt === ".scss")
|
||||
css = (await renderSass({file: sourceFullPath})).css.toString();
|
||||
if (sourceExt === ".styl")
|
||||
css = await renderStylus(new import_util.TextDecoder().decode(fileContent), {
|
||||
filename: sourceFullPath
|
||||
});
|
||||
if (sourceExt === ".less")
|
||||
css = (await import_less.default.render(new import_util.TextDecoder().decode(fileContent), {
|
||||
filename: sourceFullPath,
|
||||
rootpath: import_path.default.dirname(args.path)
|
||||
})).css;
|
||||
const result = await (0, import_postcss2.default)(isModule ? [modulesPlugin, ...plugins] : plugins).process(css, {
|
||||
from: sourceFullPath,
|
||||
to: tmpFilePath
|
||||
});
|
||||
await (0, import_fs_extra.writeFile)(tmpFilePath, result.css);
|
||||
return {
|
||||
namespace: isModule ? "postcss-module" : "file",
|
||||
path: tmpFilePath,
|
||||
watchFiles: [sourceFullPath],
|
||||
pluginData: {
|
||||
originalPath: sourceFullPath
|
||||
}
|
||||
};
|
||||
});
|
||||
build.onLoad({filter: /.*/, namespace: "postcss-module"}, async (args) => {
|
||||
const mod = modulesMap.find(({path: path2}) => path2 === args?.pluginData?.originalPath), resolveDir = import_path.default.dirname(args.path);
|
||||
return {
|
||||
resolveDir,
|
||||
contents: `import ${JSON.stringify(args.path)};
|
||||
export default ${JSON.stringify(mod && mod.map ? mod.map : {})};`
|
||||
};
|
||||
});
|
||||
}
|
||||
});
|
||||
function renderSass(options) {
|
||||
return new Promise((resolve, reject) => {
|
||||
getSassImpl().render(options, (e, res) => {
|
||||
if (e)
|
||||
reject(e);
|
||||
else
|
||||
resolve(res);
|
||||
});
|
||||
});
|
||||
}
|
||||
function renderStylus(str, options) {
|
||||
return new Promise((resolve, reject) => {
|
||||
import_stylus.default.render(str, options, (e, res) => {
|
||||
if (e)
|
||||
reject(e);
|
||||
else
|
||||
resolve(res);
|
||||
});
|
||||
});
|
||||
}
|
||||
function getSassImpl() {
|
||||
let impl = "sass";
|
||||
try {
|
||||
require.resolve("sass");
|
||||
} catch {
|
||||
try {
|
||||
require.resolve("node-sass");
|
||||
impl = "node-sass";
|
||||
} catch {
|
||||
throw new Error('Please install "sass" or "node-sass" package');
|
||||
}
|
||||
}
|
||||
return require(impl);
|
||||
}
|
||||
var src_default = postCSSPlugin;
|
||||
Loading…
x
Reference in New Issue
Block a user