Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

frets-styles-generator

Package Overview
Dependencies
Maintainers
1
Versions
33
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

frets-styles-generator - npm Package Compare versions

Comparing version 3.0.0 to 3.1.0

.eslintcache

115

build/main/build-style-type.js
#! /usr/bin/env node
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const fs = require("fs");
const processFile_1 = require("./processFile");
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
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 __reExport = (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 __reExport(__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, {
customPlugins: () => customPlugins
});
var fs = __toModule(require("fs"));
var import_processFile = __toModule(require("./processFile"));
var import_estrella = __toModule(require("estrella"));
const importer = require("postcss-import");

@@ -10,71 +35,59 @@ const program = require("commander");

const normalize = require("normalize-path");
// console.log(protectedGetters.join(", "));
program
.version("0.2.0")
.usage("inputPath [options]")
.option("-w, --watch", "watch the file for changes")
.option("-o, --overwrite", "overwrite the css files that are parsed with the PostCSS processed result", false)
.option("-t, --template <path>", "specify a custom template file [path to a js module]")
.option("-r, --react", "use the react template by default")
.option("-p, --purge", `Allow purgecss in your custom postcss.config.js to purge the output files.
Default is to skip purgecss plugin if it's in your project postcss.config`, false)
// .option('-v, --verbose', 'A value that can be increased', increaseVerbosity, 0)
.parse(process.argv);
program.version("0.2.0").usage("inputPath [options]").option("-w, --watch", "watch the file for changes").option("-o, --overwrite", "overwrite the css files that are parsed with the PostCSS processed result", false).option("-t, --template <path>", "specify a custom template file [path to a js module]").option("-r, --react", "use the react template by default").option("-p, --purge", `Allow purgecss in your custom postcss.config.js to purge the output files.
Default is to skip purgecss plugin if it's in your project postcss.config`, false).parse(process.argv);
const inputPath = normalize(program.args[0] || "./src");
let cliTemplatePath = __dirname + "/templates/maquette.js";
if (program.react) {
cliTemplatePath = __dirname + "/templates/react.js";
cliTemplatePath = __dirname + "/templates/react.js";
}
if (program.template) {
cliTemplatePath = normalize(process.cwd() + "/" + program.template);
cliTemplatePath = normalize(process.cwd() + "/" + program.template);
}
console.log("Using Template", cliTemplatePath);
// const outputFile = program.args[1];
const watchMode = program.watch;
console.log("reading directory " + inputPath);
const walker = walk.walk(inputPath, {
filters: ["node_modules"],
filters: ["node_modules"]
});
// const customConfigObject: { path?: string[] } = {};
let customPlugins = [];
exports.customPlugins = customPlugins;
let postCssConfigPath = process.cwd() + "/postcss.config.js";
if (!fs.existsSync(postCssConfigPath)) {
postCssConfigPath = __dirname + "/postcss.config.js";
postCssConfigPath = __dirname + "/postcss.config.js";
}
exports.customPlugins = customPlugins = [
importer({ root: inputPath }),
...require(postCssConfigPath).plugins,
customPlugins = [
importer({root: inputPath}),
...require(postCssConfigPath).plugins
];
const removeThesePlugins = ["postcss-import"];
if (!program.purge) {
// we don't want purge to run by default
removeThesePlugins.push("postcss-plugin-purgecss");
removeThesePlugins.push("postcss-plugin-purgecss");
}
exports.customPlugins = customPlugins = customPlugins.filter((p) => {
if (p && p.postcssPlugin && removeThesePlugins.includes(p.postcssPlugin)) {
console.log("skipping plugin: ", p.postcssPlugin);
return false;
}
return true;
customPlugins = customPlugins.filter((p) => {
if (p && p.postcssPlugin && removeThesePlugins.includes(p.postcssPlugin)) {
console.log("skipping plugin: ", p.postcssPlugin);
return false;
}
return true;
});
// console.log(customPlugins);
walker.on("file", (root, stat, next) => {
if (!stat.isDirectory()) {
const extension = stat.name.split(".")[1];
if (extension === "css") {
const inputFile = stat.name.split(".")[0];
processFile_1.default({
input: root + "/" + stat.name,
output: root + `/${inputFile.split()}-styles.ts`,
templatePath: cliTemplatePath,
customPlugins,
inputPath,
watchMode,
overwrite: program.overwrite,
});
}
if (!stat.isDirectory()) {
const extension = stat.name.split(".")[1];
if (extension === "css") {
const inputFile = stat.name.split(".")[0];
(0, import_processFile.default)({
input: root + "/" + stat.name,
output: root + `/${(0, import_estrella.basename)(inputFile, ".css")}-styles.ts`,
templatePath: cliTemplatePath,
customPlugins,
inputPath,
watchMode,
overwrite: program.overwrite
});
}
next();
}
next();
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtc3R5bGUtdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsZC1zdHlsZS10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLHlCQUF5QjtBQUN6QiwrQ0FBcUM7QUFDckMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDM0MsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3JDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM3QixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUU1Qyw0Q0FBNEM7QUFDNUMsT0FBTztLQUNKLE9BQU8sQ0FBQyxPQUFPLENBQUM7S0FDaEIsS0FBSyxDQUFDLHFCQUFxQixDQUFDO0tBQzVCLE1BQU0sQ0FBQyxhQUFhLEVBQUUsNEJBQTRCLENBQUM7S0FDbkQsTUFBTSxDQUNMLGlCQUFpQixFQUNqQiwyRUFBMkUsRUFDM0UsS0FBSyxDQUNOO0tBQ0EsTUFBTSxDQUNMLHVCQUF1QixFQUN2QixzREFBc0QsQ0FDdkQ7S0FDQSxNQUFNLENBQUMsYUFBYSxFQUFFLG1DQUFtQyxDQUFDO0tBQzFELE1BQU0sQ0FDTCxhQUFhLEVBQ2I7K0VBQzJFLEVBQzNFLEtBQUssQ0FDTjtJQUNELG1GQUFtRjtLQUNsRixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRXZCLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDO0FBQ3hELElBQUksZUFBZSxHQUFHLFNBQVMsR0FBRyx3QkFBd0IsQ0FBQztBQUMzRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7SUFDakIsZUFBZSxHQUFHLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQztDQUNyRDtBQUNELElBQUksT0FB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
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
customPlugins
});

@@ -1,6 +0,33 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const processFile_1 = require("./processFile");
exports.readFile = processFile_1.default;
exports.GetResultProcessor = processFile_1.GetResultProcessor;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwrQ0FBNkQ7QUFDcEQsbUJBREYscUJBQVEsQ0FDRTtBQUFFLDZCQURBLGdDQUFrQixDQUNBIn0=
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
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 __reExport = (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 __reExport(__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, {
GetResultProcessor: () => import_processFile.GetResultProcessor,
readFile: () => import_processFile.default
});
var import_processFile = __toModule(require("./processFile"));
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
GetResultProcessor,
readFile
});

@@ -1,22 +0,20 @@

var postcss = require('postcss');
var postcss = require("postcss");
module.exports = {
// parser: file.extname === '.sss' ? 'sugarss' : false,
plugins: {
'postcss-import': {
path: ['node_modules/tachyons/src/']
},
'postcss-fontpath': {},
'postcss-custom-media': {},
'postcss-custom-properties': {},
'postcss-calc': {},
'postcss-color-function': {},
'postcss-discard-comments': {},
'autoprefixer': {},
'cssnano': {
preset: 'default',
}
plugins: {
"postcss-import": {
path: ["node_modules/tachyons/src/"]
},
input: 'src/app.css',
dir: 'dist'
"postcss-fontpath": {},
"postcss-custom-media": {},
"postcss-custom-properties": {},
"postcss-calc": {},
"postcss-color-function": {},
"postcss-discard-comments": {},
"autoprefixer": {},
"cssnano": {
preset: "default"
}
},
input: "src/app.css",
dir: "dist"
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdGNzcy5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcG9zdGNzcy5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBRWhDLE1BQU0sQ0FBQyxPQUFPLEdBQUc7SUFDZix1REFBdUQ7SUFDdkQsT0FBTyxFQUFFO1FBQ1AsZ0JBQWdCLEVBQUU7WUFDaEIsSUFBSSxFQUFFLENBQUMsNEJBQTRCLENBQUM7U0FDckM7UUFDRCxrQkFBa0IsRUFBRSxFQUFFO1FBQ3RCLHNCQUFzQixFQUFFLEVBQUU7UUFDMUIsMkJBQTJCLEVBQUUsRUFBRTtRQUMvQixjQUFjLEVBQUUsRUFBRTtRQUNsQix3QkFBd0IsRUFBRSxFQUFFO1FBQzVCLDBCQUEwQixFQUFFLEVBQUU7UUFDOUIsY0FBYyxFQUFFLEVBQUU7UUFDbEIsU0FBUyxFQUFFO1lBQ1QsTUFBTSxFQUFFLFNBQVM7U0FDcEI7S0FDQTtJQUNELEtBQUssRUFBRSxhQUFhO0lBQ3BCLEdBQUcsRUFBRSxNQUFNO0NBQ1osQ0FBQSJ9

@@ -1,98 +0,116 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const fs = require("fs");
// const readFileAsync = fs.promises.readFile;
// const importer = require("postcss-import");
const postcss_1 = require("postcss");
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
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 __reExport = (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 __reExport(__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, {
GetResultProcessor: () => GetResultProcessor,
default: () => readFile
});
var fs = __toModule(require("fs"));
var import_postcss = __toModule(require("postcss"));
const camelcase = require("camel-case");
const protectedGetters = Object.getOwnPropertyNames(Object.getPrototypeOf("")).concat(["input", "button", "div", "select", "textarea", "label", "div", "$"]);
async function readFile(opts) {
const { customPlugins, inputPath, input } = opts;
console.log("reading " + input);
const dirparts = input.split("/");
if (dirparts[dirparts.length - 1][0] === "_") {
return; // don't process files tht start with and underscore
const {customPlugins, inputPath, input} = opts;
console.log("reading " + input);
const directoryParts = input.split("/");
if (directoryParts[directoryParts.length - 1][0] === "_") {
return;
}
return (0, import_postcss.default)(customPlugins).process(fs.readFileSync(input), {
from: inputPath
}).then(GetResultProcessor(opts)).catch((err) => {
if (err) {
console.error("Couldn't process file: " + input, err);
return;
}
return postcss_1.default(customPlugins)
.process(fs.readFileSync(input), {
from: inputPath,
})
.then(exports.GetResultProcessor(opts))
.catch((err) => {
if (err) {
console.error("Couldn't process file: " + input, err);
return;
}
});
});
}
exports.default = readFile;
exports.GetResultProcessor = (opts) => {
const { templatePath, watchMode, overwrite, debug, output, input } = opts;
let isWatching = false;
let usedClasses = [];
let classProperties = [];
const time1 = new Date().getTime();
return (result) => {
if (result && result.root) {
result.root.walkRules((rule) => {
if (rule.selector.startsWith(".") &&
(rule.selector.startsWith(".hover") || !rule.selector.includes(":"))) {
const splitOnCommas = rule.selector.split(/,\s/);
splitOnCommas.forEach((x) => {
let dotless = x.substr(1);
let classname = camelcase(dotless);
if (classname.includes(".") ||
dotless.includes(">") ||
dotless.includes("+")) {
return;
}
classname = classname.replace(/Hover$/, "");
dotless = dotless.replace(/:hover$/, "");
if (protectedGetters.indexOf(classname) >= 0) {
classname = "_" + classname;
}
if (usedClasses.indexOf(classname) >= 0) {
return;
}
usedClasses.push(classname);
classProperties.push(`get ${classname}() { return this.add("${dotless}"); }`);
});
}
});
if (debug) {
console.log(`🕐 walk rules complete: ${new Date().getTime() - time1}ms`);
const GetResultProcessor = (opts) => {
const {templatePath, watchMode, overwrite, debug, output, input} = opts;
let isWatching = false;
const usedPropertyNames = [];
const usedClassStrings = [];
const classProperties = [];
const time1 = new Date().getTime();
return (result) => {
if (result && result.root) {
result.root.walkRules((rule) => {
if (rule.selector.startsWith(".") && (rule.selector.startsWith(".hover") || !rule.selector.includes(":"))) {
const splitOnCommas = rule.selector.split(/,\s/);
splitOnCommas.forEach((x) => {
let dotLess = x.substring(1);
let className = camelcase(dotLess);
if (className.includes(".") || dotLess.includes(">") || dotLess.includes("+")) {
return;
}
className = className.replace(/Hover$/, "");
dotLess = dotLess.replace(/:hover$/, "");
if (protectedGetters.indexOf(className) >= 0) {
className = "_" + className;
}
if (usedPropertyNames.indexOf(className) >= 0) {
return;
}
usedClassStrings.push(dotLess);
usedPropertyNames.push(className);
classProperties.push(`get ${className}() { return this.add("${dotLess}"); }`);
});
}
let typeScriptClass = "";
let templFn;
try {
templFn = require(templatePath).default;
// console.log("Loading template", templFn);
typeScriptClass = templFn(classProperties);
}
catch (error) {
console.error("Couldnt' load or use template", error);
}
if (debug) {
console.log(`🕐 templating complete: ${new Date().getTime() - time1}ms`);
}
// console.log(typeScriptClass);
console.log(`writing ${classProperties.length} members into ${output}`);
fs.writeFileSync(output, typeScriptClass);
if (debug) {
console.log(`🕐 write file sync complete: ${new Date().getTime() - time1}ms`);
}
if (overwrite) {
fs.writeFileSync(input, result.css);
}
if (watchMode && !isWatching) {
isWatching = true;
console.log("Watching for changes...");
fs.watchFile(input, () => readFile(opts));
}
if (debug) {
console.log(`🕐 All Done: ${new Date().getTime() - time1}ms`);
}
};
});
if (debug) {
console.log(`\u{1F550} walk rules complete: ${new Date().getTime() - time1}ms`);
}
}
let typeScriptClass = "";
let templateFn;
try {
templateFn = require(templatePath).default;
typeScriptClass = templateFn(classProperties);
} catch (error) {
console.error("Couldn't load or use template", error);
}
if (debug) {
console.log(`\u{1F550} templating complete: ${new Date().getTime() - time1}ms`);
}
console.log(`writing ${classProperties.length} members into ${output}`);
fs.writeFileSync(output, typeScriptClass);
if (debug) {
console.log(`\u{1F550} write file sync complete: ${new Date().getTime() - time1}ms`);
}
if (overwrite) {
fs.writeFileSync(input, result.css);
}
if (watchMode && !isWatching) {
isWatching = true;
console.log("Watching for changes...");
fs.watchFile(input, () => readFile(opts));
}
if (debug) {
console.log(`\u{1F550} All Done: ${new Date().getTime() - time1}ms`);
}
};
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzc0ZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvY2Vzc0ZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5QkFBeUI7QUFDekIsOENBQThDO0FBQzlDLDhDQUE4QztBQUM5QyxxQ0FBZ0Q7QUFDaEQsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3hDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUNqRCxNQUFNLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUMxQixDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBWWpFLEtBQUssVUFBVSxRQUFRLENBQUMsSUFBVztJQUNoRCxNQUFNLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFFakQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDaEMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRTtRQUM1QyxPQUFPLENBQUMsb0RBQW9EO0tBQzdEO0lBRUQsT0FBTyxpQkFBTyxDQUFDLGFBQWEsQ0FBQztTQUMxQixPQUFPLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUMvQixJQUFJLEVBQUUsU0FBUztLQUNoQixDQUFDO1NBQ0QsSUFBSSxDQUFDLDBCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCLEtBQUssQ0FBQyxDQUFDLEdBQTBCLEVB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
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
GetResultProcessor
});

@@ -1,5 +0,13 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
function default_1(classProperties) {
return `
var __defProp = Object.defineProperty;
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});
};
__markAsModule(exports);
__export(exports, {
default: () => maquette_default
});
function maquette_default(classProperties) {
return `
import { maquette as Maquette } from "frets";

@@ -161,3 +169,3 @@

}
exports.default = default_1;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFxdWV0dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVtcGxhdGVzL21hcXVldHRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbUJBQXdCLGVBQXlCO0lBQy9DLE9BQU87Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFpSkgsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Ozs7Ozs7Ozs7Q0FVL0IsQ0FBQztBQUNGLENBQUM7QUE3SkQsNEJBNkpDIn0=
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {});

@@ -1,5 +0,13 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
function default_1(classProperties) {
return `
var __defProp = Object.defineProperty;
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});
};
__markAsModule(exports);
__export(exports, {
default: () => maquette_standalone_default
});
function maquette_standalone_default(classProperties) {
return `
import * as Maquette from "maquette";

@@ -115,3 +123,3 @@

}
exports.default = default_1;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFxdWV0dGUuc3RhbmRhbG9uZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZW1wbGF0ZXMvbWFxdWV0dGUuc3RhbmRhbG9uZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1CQUF3QixlQUF5QjtJQUMvQyxPQUFPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7VUFtR0MsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Ozs7Ozs7Ozs7Q0FVbkMsQ0FBQztBQUNGLENBQUM7QUEvR0QsNEJBK0dDIn0=
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {});

@@ -1,5 +0,13 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
function default_1(classProperties) {
return `
var __defProp = Object.defineProperty;
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});
};
__markAsModule(exports);
__export(exports, {
default: () => react_default
});
function react_default(classProperties) {
return `
import React, {

@@ -9,3 +17,4 @@ ReactNode,

AllHTMLAttributes,
Props
Props,
PropsWithChildren,
} from "react";

@@ -18,3 +27,3 @@

export type BaseStyleArgs<T> = Array<
ReactElement | string | AllHTMLAttributes<T> | Props<T> | Boolean
ReactNode | string | AllHTMLAttributes<T> | Props<T> | boolean
>

@@ -29,2 +38,3 @@ export const e = React.createElement;

public classProps: any = {};
private writeConditionIndex = 0
private readConditionIndex: number = 0;

@@ -41,4 +51,20 @@ private classObjectMode: boolean = false;

}
public when = (condition: boolean): BaseStyles => {
this.classObjectMode = true
this.conditions[this.writeConditionIndex] = condition
return this
}
public andWhen = (condition: boolean): BaseStyles => {
this.classObjectMode = true
this.writeConditionIndex++
this.readConditionIndex++
return this.when(condition)
}
public otherwise = (): BaseStyles => {
this.classObjectMode = true
return this.andWhen(!this.conditions[this.readConditionIndex])
}
// The first element in the arguments might be a attributes object, or they might all be Nodes

@@ -82,2 +108,7 @@ public h = <T>(

public fc: React.FC<PropsWithChildren<AllHTMLAttributes<unknown>>> = ({
children,
...rest
}) => this.h(rest, children)
public toObj = () => {

@@ -160,6 +191,8 @@ if (!this.classObjectMode) {

public toString = (): string => {
if (this.classObjectMode) {
throw Error(
"You can't build a selector string when you are calling conditional methods"
);
if (this.classObjectMode && this.classProps) {
for (const [key, value] of Object.entries(this.classProps)) {
if (value) {
this.chain.push(key)
}
}
}

@@ -307,3 +340,3 @@ if (this.chain.length === 1) {

}
exports.default = default_1;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVtcGxhdGVzL3JlYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbUJBQXlCLGVBQXlCO0lBQ2hELE9BQU87Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWdNTCxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXVHN0IsQ0FBQztBQUNGLENBQUM7QUF6U0QsNEJBeVNDIn0=
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {});
{
"name": "frets-styles-generator",
"version": "3.0.0",
"version": "3.1.0",
"description": "Tool that generates a Typescript class for hyperscript functions based on a CSS file",

@@ -16,11 +16,12 @@ "main": "build/main/index.js",

"build": "trash build && npm run build:main",
"build:main": "tsc -p tsconfig.json",
"build:tests": "trash test && node config/exports/build-tests.js",
"lint": "tslint --project . --type-check src/**/*.ts",
"unit": "npm run build && npm run build:tests && ava",
"test": "npm run lint",
"watch": "npm run build && npm run build:tests -- --no-browser && concurrently -r --kill-others 'npm run --silent build:main -- -w' 'npm run --silent build:tests -- -w --no-browser' 'sleepms 2000 && ava --watch'",
"build:main": "npm run build:scripts && node build/_scripts/dev.js -p",
"lint": "prettier --check 'src/**/*.{js,ts,tsx,jsx}' && eslint --quiet --cache 'src/**/*.{js,ts,tsx}'",
"lint:fix": "prettier --write 'src/**/*.{js,ts,tsx,jsx}' && eslint --quiet --cache --fix 'src/**/*.{js,ts,tsx}'",
"unit": "npm run build:scripts && node build/_scripts/test.js",
"test": "npm run lint && npm run unit",
"watch": "node build/_scripts/test.js -w",
"changelog": "standard-version",
"release": "npm run reset && npm run test && npm run changelog",
"reset": "git clean -dfx && git reset --hard && npm install"
"reset": "git clean -dfx && git reset --hard && npm install",
"build:scripts": "esbuild scripts/*.ts --platform=node --format=cjs --outdir=build/_scripts/"
},

@@ -49,10 +50,19 @@ "scripts-info": {

"@semantic-release/release-notes-generator": "^9.0.1",
"@types/cpx": "^1.5.2",
"@types/node": "^12.0.0",
"ava": "^1.1.0",
"concurrently": "^4.1.0",
"@types/walk": "^2.3.1",
"@typescript-eslint/eslint-plugin": "^4.28.4",
"@typescript-eslint/parser": "^4.28.4",
"baretest": "^2.0.0",
"cpx": "^1.5.0",
"gh-pages": "^2.0.1",
"mkdirp": "^0.5.1",
"esbuild": "^0.12.18",
"eslint": "7.31.0",
"eslint-config-prettier": "8.3.0",
"eslint-plugin-import": "2.23.4",
"eslint-plugin-jsx-a11y": "6.4.1",
"eslint-plugin-prettier": "^3.4.0",
"estrella": "^1.4.1",
"npm-scripts-info": "^0.3.9",
"opn-cli": "^4.0.0",
"prettier": "2.3.0",
"rimraf": "^3.0.2",
"semantic-release": "^17.4.4",

@@ -62,5 +72,3 @@ "sleep-ms": "^2.0.1",

"trash-cli": "^1.4.0",
"tslint": "^5.12.1",
"tslint-config-standard": "^8.0.1",
"typescript": "^3.2.4"
"typescript": "^4.3.5"
},

@@ -113,3 +121,3 @@ "keywords": [

"normalize-path": "^3.0.0",
"postcss": "^8.3.5",
"postcss": "^8.3.6",
"postcss-import": "^13.0.0",

@@ -116,0 +124,0 @@ "tslib": "^1.9.3",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc