@master/css-compiler 2.0.0-beta.99 → 2.0.0-rc.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -133
- package/dist/browser.d.ts +22 -0
- package/dist/browser.mjs +47 -0
- package/dist/core.d.ts +48 -0
- package/dist/core.mjs +2019 -0
- package/dist/css-transform.d.ts +6 -0
- package/dist/css-transform.mjs +18 -0
- package/dist/index.d.ts +46 -3
- package/dist/index.mjs +394 -10
- package/dist/lexer/imports.d.ts +13 -0
- package/dist/lexer/imports.mjs +44 -0
- package/dist/lexer/source.d.ts +3 -0
- package/dist/lexer/source.mjs +9 -0
- package/dist/lexer/standalone-master.d.ts +21 -0
- package/dist/lexer/standalone-master.mjs +233 -0
- package/dist/lower-css-directives.d.ts +16 -0
- package/dist/lower-css-directives.mjs +969 -0
- package/dist/master-css-manifest.d.ts +14 -0
- package/dist/master-css-manifest.mjs +760 -0
- package/dist/native-declaration.d.ts +2 -0
- package/dist/native-declaration.mjs +25 -0
- package/dist/utils/selectors.d.ts +3 -0
- package/dist/utils/selectors.mjs +55 -0
- package/dist/utils/unquote.d.ts +1 -0
- package/dist/utils/unquote.mjs +10 -0
- package/dist/utils/wrap-at-rules.d.ts +1 -0
- package/dist/utils/wrap-at-rules.mjs +10 -0
- package/package.json +1 -1
- package/dist/compiler.d.ts +0 -19
- package/dist/extract.d.ts +0 -3
- package/dist/index.cjs +0 -10
- package/dist/options/index.d.ts +0 -17
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { property, parse, lexer } from 'css-tree';
|
|
2
|
+
|
|
3
|
+
const matches = new Map();
|
|
4
|
+
function isTargetError(error) {
|
|
5
|
+
return error && typeof error === 'object' && 'name' in error && (error.name === 'SyntaxError' || error.name === 'SyntaxMatchError' || error.name === 'SyntaxReferenceError');
|
|
6
|
+
}
|
|
7
|
+
const cssTreeNativeDeclarationMatcher = ({ property: property$1, value })=>{
|
|
8
|
+
if (property(property$1).custom) return true;
|
|
9
|
+
const cacheKey = property$1 + '\0' + value;
|
|
10
|
+
const cached = matches.get(cacheKey);
|
|
11
|
+
if (cached !== undefined) return cached;
|
|
12
|
+
let matched = false;
|
|
13
|
+
try {
|
|
14
|
+
const ast = parse(value, {
|
|
15
|
+
context: 'value'
|
|
16
|
+
});
|
|
17
|
+
matched = !isTargetError(lexer.checkPropertyName(property$1)) && !isTargetError(lexer.matchProperty(property$1, ast).error);
|
|
18
|
+
} catch {
|
|
19
|
+
matched = false;
|
|
20
|
+
}
|
|
21
|
+
matches.set(cacheKey, matched);
|
|
22
|
+
return matched;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export { cssTreeNativeDeclarationMatcher };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare function splitSelectorList(selectorText: string): string[];
|
|
2
|
+
export declare function combineSelectorLists(parentSelectors: string[], childSelectors: string[]): string[];
|
|
3
|
+
export declare function combineStyleSelectors(parentSelector: string, childSelector: string): string;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
function splitSelectorList(selectorText) {
|
|
2
|
+
const selectors = [];
|
|
3
|
+
let current = '';
|
|
4
|
+
let depth = 0;
|
|
5
|
+
let quote = '';
|
|
6
|
+
for(let index = 0; index < selectorText.length; index++){
|
|
7
|
+
const char = selectorText[index];
|
|
8
|
+
if (quote) {
|
|
9
|
+
current += char;
|
|
10
|
+
if (char === '\\') {
|
|
11
|
+
current += selectorText[++index] || '';
|
|
12
|
+
} else if (char === quote) {
|
|
13
|
+
quote = '';
|
|
14
|
+
}
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
if (char === '"' || char === '\'') {
|
|
18
|
+
quote = char;
|
|
19
|
+
current += char;
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
if (char === '(' || char === '[') {
|
|
23
|
+
depth++;
|
|
24
|
+
current += char;
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
if (char === ')' || char === ']') {
|
|
28
|
+
depth--;
|
|
29
|
+
current += char;
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
if (char === ',' && depth === 0) {
|
|
33
|
+
selectors.push(current.trim());
|
|
34
|
+
current = '';
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
current += char;
|
|
38
|
+
}
|
|
39
|
+
if (current.trim()) selectors.push(current.trim());
|
|
40
|
+
return selectors;
|
|
41
|
+
}
|
|
42
|
+
function combineSelectorLists(parentSelectors, childSelectors) {
|
|
43
|
+
const selectors = [];
|
|
44
|
+
for (const child of childSelectors){
|
|
45
|
+
for (const parent of parentSelectors){
|
|
46
|
+
selectors.push(child.includes('&') ? child.replace(/&/g, parent) : `${parent} ${child}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return selectors;
|
|
50
|
+
}
|
|
51
|
+
function combineStyleSelectors(parentSelector, childSelector) {
|
|
52
|
+
return combineSelectorLists(splitSelectorList(parentSelector), splitSelectorList(childSelector)).join(',');
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export { combineSelectorLists, combineStyleSelectors, splitSelectorList };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function unquote(value: string): string;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
function unquote(value) {
|
|
2
|
+
const trimmed = value.trim();
|
|
3
|
+
const quote = trimmed[0];
|
|
4
|
+
if ((quote === '"' || quote === '\'') && trimmed.endsWith(quote)) {
|
|
5
|
+
return trimmed.slice(1, -1).replace(/\\(["'\\])/g, '$1');
|
|
6
|
+
}
|
|
7
|
+
return trimmed;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { unquote as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function wrapAtRules(text: string, atRules?: string[]): string;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
function wrapAtRules(text, atRules) {
|
|
2
|
+
if (!atRules?.length) return text;
|
|
3
|
+
for(let index = atRules.length - 1; index >= 0; index--){
|
|
4
|
+
const atRule = atRules[index]?.trim();
|
|
5
|
+
if (atRule) text = `${atRule}{${text}}`;
|
|
6
|
+
}
|
|
7
|
+
return text;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { wrapAtRules as default };
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@master/css-compiler","scripts":{"build":"
|
|
1
|
+
{"name":"@master/css-compiler","type":"module","scripts":{"build":"techor build \"src/**/*.ts\" --formats esm","dev":"pnpm build --watch","lint":"eslint","type-check":"tsc --noEmit","test":"vitest"},"license":"MIT","description":"Compile Master CSS stylesheet directives","author":"Aoyue Design LLC.","funding":"https://rc.css.master.co/sponsor","homepage":"https://css.master.co","bugs":{"url":"https://github.com/master-co/css/issues"},"repository":{"type":"git","url":"https://github.com/master-co/css.git","directory":"packages/compiler"},"keywords":["compiler","directives","css","mastercss"],"sideEffects":false,"main":"./dist/index.mjs","module":"./dist/index.mjs","jsnext:main":"./dist/index.mjs","esnext":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./browser":{"types":"./dist/browser.d.ts","import":"./dist/browser.mjs","default":"./dist/browser.mjs"}},"files":["dist"],"publishConfig":{"access":"public","provenance":true},"dependencies":{"@master/css-engine":"^2.0.0-rc.70","@master/css-lexer":"^2.0.0-rc.70","css-tree":"^3.2.1","csstype":"^3.2.3","lightningcss":"^1.32.0","lightningcss-wasm":"^1.32.0","@master/css-schema":"^2.0.0-rc.70"},"devDependencies":{"@master/css-preset":"^2.0.0-rc.70","@types/css-tree":"^2.3.11"},"version":"2.0.0-rc.70"}
|
package/dist/compiler.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Options } from './options';
|
|
2
|
-
import MasterCSS, { Rule } from '@master/css';
|
|
3
|
-
import type { Config } from '@master/css';
|
|
4
|
-
import Techor from 'techor';
|
|
5
|
-
export default class MasterCSSCompiler extends Techor<Options, Config> {
|
|
6
|
-
constructor(options?: Options);
|
|
7
|
-
css: MasterCSS;
|
|
8
|
-
extractions: Set<string>;
|
|
9
|
-
get resolvedModuleId(): string;
|
|
10
|
-
get moduleHMREvent(): string;
|
|
11
|
-
init(): Promise<this>;
|
|
12
|
-
compile(): Promise<this>;
|
|
13
|
-
extract(name: string, content: string): string[];
|
|
14
|
-
insert(name: string, content: string): Promise<boolean>;
|
|
15
|
-
createRules(extraction: string): Promise<Rule[]>;
|
|
16
|
-
get sources(): string[];
|
|
17
|
-
checkSourcePath(name: string): boolean;
|
|
18
|
-
get config(): Config;
|
|
19
|
-
}
|
package/dist/extract.d.ts
DELETED
package/dist/index.cjs
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
var xe=Object.create;var E=Object.defineProperty;var $e=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var we=Object.getPrototypeOf,Ce=Object.prototype.hasOwnProperty;var Te=(r,e)=>{for(var t in e)E(r,t,{get:e[t],enumerable:!0})},H=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Oe(e))!Ce.call(r,n)&&n!==t&&E(r,n,{get:()=>e[n],enumerable:!(s=$e(e,n))||s.enumerable});return r};var m=(r,e,t)=>(t=r!=null?xe(we(r)):{},H(e||!r||!r.__esModule?E(t,"default",{value:r,enumerable:!0}):t,r)),Re=r=>H(E({},"__esModule",{value:!0}),r);var hr={};Te(hr,{default:()=>R,options:()=>k});module.exports=Re(hr);var A=m(require("upath"));var Ee={module:"master.css",config:"master.css.{ts,js,mjs,cjs}",sources:[],include:["**/*.{html,js,jsx,ts,tsx,svelte,astro,vue,md,mdx,pug,php}"],exclude:["**/node_modules/**","**/*.d.ts","**/*.test.*","node_modules","master.css.{js,ts,mjs,cjs}","dist","out","README.md"],fixedClasses:[],ignoredClasses:[]},k=Ee;var de=m(require("@master/css")),U=require("perf_hooks");var J=require("@master/css");function F({content:r},{config:e,classes:t}){r=ke(r);let s=[...new Set(Object.keys(e.semantics??J.semantics).concat(Object.keys(t)))],n=r.match(/\S+/g)??[],i=new Set;for(let l of n){i.add(P(l,s));let a=Z(l);if(a.size)for(let p of a)i.add(P(p,s))}return[...i].filter(l=>l&&!Se(l,s))}var P=(r,e)=>{let t=r,s=r.match(/(?:calc\(.*\)|\d+(?:%|ch|cm|em|ex|in|mm|pc|pt|px|rem|vh|vmax|vmin|vw|deg|grad|rad|turn|s)?)x(?:calc\(.*\)|\d+(?:%|ch|cm|em|ex|in|mm|pc|pt|px|rem|vh|vmax|vmin|vw|deg|grad|rad|turn|s)?)/g);return(s?.length?e.concat(s):e).find(n=>t.startsWith(n))?r=I(r,n=>n.replace(/^[^:@~(]*(?<!@>?)=/,"").replace(/(?:[([{\\:#=.]+|["'`].*)$/,"")):r=I(r,n=>n.replace(/^[^:@~(]*(?:["'`]|(?<!@>?)=)/,"").replace(/(?:[([{\\:#=.]+|["'`].*)$/,"")),t===r||!r?r:P(r,e)},K=r=>r.match(/((?<!\\)["'`])(?:\\\1|(?:(?!\1))[\S\s])*(?<!\\)\1/g),z=(r,e)=>(e?.forEach((t,s)=>{r=r.replace(t,`COMPLETE-STRING--${s}--`)}),r),I=(r,e)=>{let t=K(r);return r=z(r,t),r=e(r),t?.forEach((s,n)=>{r=r.replace(`COMPLETE-STRING--${n}--`,s)}),r},Z=r=>{let e=new Set,t=/((?<!\\)["'`])((?:\\\1|(?:(?!\1))[\S\s])*)((?<!\\)\1)/g,s;for(;(s=t.exec(r))!==null;){s.index===t.lastIndex&&t.lastIndex++,e.add(s[2]);let n=Z(s[2]);if(n.size)for(let i of n)e.add(i)}return e},ke=r=>I(r,e=>e.replace(/\/\*(?:(?!\*\/)[\S\s])*\*\//g,"").replace(/<!--(?:(?!-->)[\S\s])*-->/g,"").replace(/<style[^>]*>(?:(?!<\/style>)[\S\s])*<\/style>/g,"").replace(/import.*from\s*COMPLETE-STRING--\d+--/g,"").replace(/import\s*(?:COMPLETE-STRING--\d+--|\([^;\s]*\))/g,"").replace(/require\([^;\s]*\)/g,"")),Se=(r,e)=>{let t=K(r),s=z(r,t),n=/{(.*)}/,i;for(;(i=n.exec(s))!==null;)return i[1].split(";").find(a=>q(a,e))!==void 0;return q(s,e)||Ne(r)},q=(r,e)=>!r||!r.match(/(?:\S*\{\S*\})|(?:^[\w\-()]+:\S+)|(?:^[\w-]+\(\S+\))|(?:^[@~]\S+$)/)&&!r.match(/^(?:calc\(.*\)|\d+(?:%|ch|cm|em|ex|in|mm|pc|pt|px|rem|vh|vmax|vmin|vw|deg|grad|rad|turn|s)?)x(?:calc\(.*\)|\d+(?:%|ch|cm|em|ex|in|mm|pc|pt|px|rem|vh|vmax|vmin|vw|deg|grad|rad|turn|s)?)$/)&&!e.find(t=>r.startsWith(t))||r.match(/\*\*/)||r.match(/:\[/)||r.match(/\$\{/)||r.match(/\{\{/)||r.match(/\(\{[^}]*\}/)||r.match(/<\w+>|<\/\w+>/)||r.match(/;$/)||r.match(/^\w+:\/\//)||r.match(/^@(?:ts-[^\s]+|charset|import|namespace|media|supports|document|page|font-face|keyframes|counter-style|font-feature-values|property|layer)$/)||r.match(/^~\/.+.\w+$/)||r.match(/function\(|\(.*\)=>/),Ne=r=>{let e=[],t;for(let s=0;s<r.length;s++)switch(r[s]){case"(":case"[":case"{":e.push(r[s]);break;case")":case"]":case"}":if(t=e.pop(),r[s]===")"&&t!=="("||r[s]==="]"&&t!=="["||r[s]==="}"&&t!=="{")return!0;break}return e.length>0};var me=m(require("fs")),V=m(require("fast-glob")),B=m(require("minimatch")),be=m(require("techor"));var j=m(require("node:process"),1),pe=m(require("node:os"),1),L=m(require("node:tty"),1),je=Object.create,ue=Object.defineProperty,Ae=Object.getOwnPropertyDescriptor,Be=Object.getOwnPropertyNames,Me=Object.getPrototypeOf,Pe=Object.prototype.hasOwnProperty,Ie=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Fe=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Be(e))!Pe.call(r,n)&&n!==t&&ue(r,n,{get:()=>e[n],enumerable:!(s=Ae(e,n))||s.enumerable});return r},_e=(r,e,t)=>(t=r!=null?je(Me(r)):{},Fe(e||!r||!r.__esModule?ue(t,"default",{value:r,enumerable:!0}):t,r)),Ge=Ie((r,e)=>{"use strict";function t(s){var n=void 0;typeof s=="string"?n=[s]:n=s.raw;for(var i="",l=0;l<n.length;l++)i+=n[l].replace(/\\\n[ \t]*/g,"").replace(/\\`/g,"`"),l<(arguments.length<=1?0:arguments.length-1)&&(i+=arguments.length<=l+1?void 0:arguments[l+1]);var a=i.split(`
|
|
2
|
-
`),p=null;return a.forEach(function(u){var f=u.match(/^(\s+)\S+/);if(f){var x=f[1].length;p?p=Math.min(p,x):p=x}}),p!==null&&(i=a.map(function(u){return u[0]===" "?u.slice(p):u}).join(`
|
|
3
|
-
`)),i=i.trim(),i.replace(/\\n/g,`
|
|
4
|
-
`)}typeof e<"u"&&(e.exports=t)}),b=(r,e)=>{if(!r)throw new Error(e)},Le=r=>{let e={joined:!0,spacerNoNeighbour:" ",spacerNeighbour:"\u2502 ",keyNoNeighbour:"\u2514\u2500 ",keyNeighbour:"\u251C\u2500 ",separator:": ",renderFn:t=>["boolean","string","number"].includes(typeof t)?t:void 0,sortFn:null,breakCircularWith:" (circular ref.)",...r};return b(Object.keys(e).length===9,"Unexpected Option(s) provided"),b(typeof e.joined=="boolean",'Option "joined" has invalid format'),b(typeof e.spacerNoNeighbour=="string",'Option "spacerNoNeighbour" has invalid format'),b(typeof e.spacerNeighbour=="string",'Option "spacerNeighbour" has invalid format'),b(typeof e.keyNoNeighbour=="string",'Option "keyNoNeighbour" has invalid format'),b(typeof e.keyNeighbour=="string",'Option "keyNeighbour" has invalid format'),b(typeof e.separator=="string",'Option "separator" has invalid format'),b(typeof e.renderFn=="function",'Option "renderFn" has invalid format'),b(typeof e.sortFn=="function"||e.sortFn===null,'Option "sortFn" has invalid format'),b(typeof e.breakCircularWith=="string"||e.breakCircularWith===null,'Option "breakCircularWith" has invalid format'),e},ge=(r,e={})=>{let t=Le(e),s=[],n=t.renderFn(r);n!==void 0&&s.push(String(n));let i=u=>t.sortFn===null?u.reverse():u.sort((f,x)=>t.sortFn(x,f)),l=[],a=i(Object.keys(r)).map(u=>[u]),p=[r];for(;a.length!==0;){let u=a.pop(),f=p[u.length-1][u[u.length-1]],x=t.breakCircularWith!==null&&p.includes(f);l[u.length-1]=a.length!==0&&a[a.length-1].length===u.length;let ye=t.renderFn(f);s.push([l.slice(0,u.length-1).map(M=>M?t.spacerNeighbour:t.spacerNoNeighbour).join(""),l[u.length-1]?t.keyNeighbour:t.keyNoNeighbour,u[u.length-1],ye===void 0?"":`${t.separator}${f}`,x?t.breakCircularWith:""].join("")),f instanceof Object&&!Array.isArray(f)&&!x&&(a.push(...i(Object.keys(f)).map(M=>u.concat(M))),p[u.length]=f)}return t.joined===!0?s.join(`
|
|
5
|
-
`):s},Q=(r=0)=>e=>`\x1B[${e+r}m`,X=(r=0)=>e=>`\x1B[${38+r};5;${e}m`,ee=(r=0)=>(e,t,s)=>`\x1B[${38+r};2;${e};${t};${s}m`,c={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},vr=Object.keys(c.modifier),Ye=Object.keys(c.color),De=Object.keys(c.bgColor),yr=[...Ye,...De];function We(){let r=new Map;for(let[e,t]of Object.entries(c)){for(let[s,n]of Object.entries(t))c[s]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},t[s]=c[s],r.set(n[0],n[1]);Object.defineProperty(c,e,{value:t,enumerable:!1})}return Object.defineProperty(c,"codes",{value:r,enumerable:!1}),c.color.close="\x1B[39m",c.bgColor.close="\x1B[49m",c.color.ansi=Q(),c.color.ansi256=X(),c.color.ansi16m=ee(),c.bgColor.ansi=Q(10),c.bgColor.ansi256=X(10),c.bgColor.ansi16m=ee(10),Object.defineProperties(c,{rgbToAnsi256:{value(e,t,s){return e===t&&t===s?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(s/255*5)},enumerable:!1},hexToRgb:{value(e){let t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[s]=t;s.length===3&&(s=[...s].map(i=>i+i).join(""));let n=Number.parseInt(s,16);return[n>>16&255,n>>8&255,n&255]},enumerable:!1},hexToAnsi256:{value:e=>c.rgbToAnsi256(...c.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,s,n;if(e>=232)t=((e-232)*10+8)/255,s=t,n=t;else{e-=16;let a=e%36;t=Math.floor(e/36)/5,s=Math.floor(a/6)/5,n=a%6/5}let i=Math.max(t,s,n)*2;if(i===0)return 30;let l=30+(Math.round(n)<<2|Math.round(s)<<1|Math.round(t));return i===2&&(l+=60),l},enumerable:!1},rgbToAnsi:{value:(e,t,s)=>c.ansi256ToAnsi(c.rgbToAnsi256(e,t,s)),enumerable:!1},hexToAnsi:{value:e=>c.ansi256ToAnsi(c.hexToAnsi256(e)),enumerable:!1}}),c}var Ue=We(),v=Ue;function d(r,e=globalThis.Deno?globalThis.Deno.args:j.default.argv){let t=r.startsWith("-")?"":r.length===1?"-":"--",s=e.indexOf(t+r),n=e.indexOf("--");return s!==-1&&(n===-1||s<n)}var{env:g}=j.default,S;d("no-color")||d("no-colors")||d("color=false")||d("color=never")?S=0:(d("color")||d("colors")||d("color=true")||d("color=always"))&&(S=1);function Ve(){if("FORCE_COLOR"in g)return g.FORCE_COLOR==="true"?1:g.FORCE_COLOR==="false"?0:g.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(g.FORCE_COLOR,10),3)}function He(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function qe(r,{streamIsTTY:e,sniffFlags:t=!0}={}){let s=Ve();s!==void 0&&(S=s);let n=t?S:s;if(n===0)return 0;if(t){if(d("color=16m")||d("color=full")||d("color=truecolor"))return 3;if(d("color=256"))return 2}if("TF_BUILD"in g&&"AGENT_NAME"in g)return 1;if(r&&!e&&n===void 0)return 0;let i=n||0;if(g.TERM==="dumb")return i;if(j.default.platform==="win32"){let l=pe.default.release().split(".");return Number(l[0])>=10&&Number(l[2])>=10586?Number(l[2])>=14931?3:2:1}if("CI"in g)return"GITHUB_ACTIONS"in g?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(l=>l in g)||g.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in g)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(g.TEAMCITY_VERSION)?1:0;if(g.COLORTERM==="truecolor"||g.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in g){let l=Number.parseInt((g.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(g.TERM_PROGRAM){case"iTerm.app":return l>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(g.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(g.TERM)||"COLORTERM"in g?1:i}function re(r,e={}){let t=qe(r,{streamIsTTY:r&&r.isTTY,...e});return He(t)}var Je={stdout:re({isTTY:L.default.isatty(1)}),stderr:re({isTTY:L.default.isatty(2)})},Ke=Je;function ze(r,e,t){let s=r.indexOf(e);if(s===-1)return r;let n=e.length,i=0,l="";do l+=r.slice(i,s)+e+t,i=s+n,s=r.indexOf(e,i);while(s!==-1);return l+=r.slice(i),l}function Ze(r,e,t,s){let n=0,i="";do{let l=r[s-1]==="\r";i+=r.slice(n,l?s-1:s)+e+(l?`\r
|
|
6
|
-
`:`
|
|
7
|
-
`)+t,n=s+1,s=r.indexOf(`
|
|
8
|
-
`,n)}while(s!==-1);return i+=r.slice(n),i}var{stdout:te,stderr:se}=Ke,Y=Symbol("GENERATOR"),$=Symbol("STYLER"),C=Symbol("IS_EMPTY"),ne=["ansi","ansi","ansi256","ansi16m"],O=Object.create(null),Qe=(r,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let t=te?te.level:0;r.level=e.level===void 0?t:e.level},Xe=r=>{let e=(...t)=>t.join(" ");return Qe(e,r),Object.setPrototypeOf(e,T.prototype),e};function T(r){return Xe(r)}Object.setPrototypeOf(T.prototype,Function.prototype);for(let[r,e]of Object.entries(v))O[r]={get(){let t=N(this,W(e.open,e.close,this[$]),this[C]);return Object.defineProperty(this,r,{value:t}),t}};O.visible={get(){let r=N(this,this[$],!0);return Object.defineProperty(this,"visible",{value:r}),r}};var D=(r,e,t,...s)=>r==="rgb"?e==="ansi16m"?v[t].ansi16m(...s):e==="ansi256"?v[t].ansi256(v.rgbToAnsi256(...s)):v[t].ansi(v.rgbToAnsi(...s)):r==="hex"?D("rgb",e,t,...v.hexToRgb(...s)):v[t][r](...s),er=["rgb","hex","ansi256"];for(let r of er){O[r]={get(){let{level:t}=this;return function(...s){let n=W(D(r,ne[t],"color",...s),v.color.close,this[$]);return N(this,n,this[C])}}};let e="bg"+r[0].toUpperCase()+r.slice(1);O[e]={get(){let{level:t}=this;return function(...s){let n=W(D(r,ne[t],"bgColor",...s),v.bgColor.close,this[$]);return N(this,n,this[C])}}}}var rr=Object.defineProperties(()=>{},{...O,level:{enumerable:!0,get(){return this[Y].level},set(r){this[Y].level=r}}}),W=(r,e,t)=>{let s,n;return t===void 0?(s=r,n=e):(s=t.openAll+r,n=e+t.closeAll),{open:r,close:e,openAll:s,closeAll:n,parent:t}},N=(r,e,t)=>{let s=(...n)=>tr(s,n.length===1?""+n[0]:n.join(" "));return Object.setPrototypeOf(s,rr),s[Y]=r,s[$]=e,s[C]=t,s},tr=(r,e)=>{if(r.level<=0||!e)return r[C]?"":e;let t=r[$];if(t===void 0)return e;let{openAll:s,closeAll:n}=t;if(e.includes("\x1B"))for(;t!==void 0;)e=ze(e,t.close,t.open),t=t.parent;let i=e.indexOf(`
|
|
9
|
-
`);return i!==-1&&(e=Ze(e,n,s,i)),s+e+n};Object.defineProperties(T.prototype,O);var sr=T(),xr=T({level:se?se.level:0}),o=sr;function y(r){return r.split(" ").map(e=>e.replace(/^(\d*\.?\d*)$/g,`${o.blue("$1")}`).replace(/^(\d*\.?\d*)(YB|ZB|EB|PB|TB|GB|MB|KB|B|mb|kb|bit|zs|as|fs|ps|ns|µs|ms|s|m|h|d|m|y)$/g,`${o.cyan("$1")}${o.magenta("$2")}`).replace(/^((?:[0-1]?[0-9]|[2][0-3]):[0-5][0-9]:[0-5][0-9] (?:AM|PM)?)$/g,`${o.dim("$1")}`).replace(/^\[(.*?)\]$/g,`${o.dim("[")}${o.magenta("$1")}${o.dim("]")}`).replace(/^`(.*?)`$/g,`${o.dim("`")}$1${o.dim("`")}`).replace(/^\((.*?)\)$/g,`${o.dim("(")}$1${o.dim(")")}`).replace(/^<(.*?)>$/g,`${o.dim("<")}${o.gray("$1")}${o.dim(">")}`).replace(/->/g,o.dim("\u2192")).replace(/<-/g,o.dim("\u2190")).replace(/^\$t$/g,`${o.dim(new Date().toLocaleTimeString())}`).replace(/^\*\*(.*?)\*\*$/g,`${o.bold.white("$1")}`).replace(/^~~(.*?)~~$/g,`${o.strikethrough("$1")}`).replace(/^__(.*?)__$/g,`${o.underline("$1")}`).replace(/^\.\.(.*?)\.\.$/g,`${o.dim("$1")}`).replace(/^!!(.*?)!!$/g,`${o.yellow("$1")}`).replace(/^\*(.*?)\*$/g,`${o.italic("$1")}`).replace(/^_(.*?)_$/g,`${o.italic("$1")}`).replace(/^\+(.*?)\+$/g,`${o.green("$1")}`).replace(/^-(.*?)-$/g,`${o.red("$1")}`)).join(" ")}function h(r,e){let t="";if(Array.isArray(r))for(let s=0;s<r.length;s++)t+=_(r[s])+_(e[s]);else t=[r,...e].map(s=>_(s)).join(" ");return y(t)}var _=r=>r?Array.isArray(r)?r.map(e=>{switch(typeof e){case"string":return`'${o.yellow(e)}'`;case"number":case"boolean":return o.blue(e);default:return e}}).join(o.gray(", ")):r:"",ie=(r,...e)=>{let t=o.green("+")+" "+h(r,e);return console.log(t),t},oe=(r,...e)=>{let t=o.bgRed.bold.white(" \u{1D5EB} ERROR ")+" "+h(r,e);return console.log(t),t},nr=(r,...e)=>{let t=o.bgYellow.bold.white(" \u26A0\uFE0F CONFLICT ")+" "+o.yellow(h(r,e));return console.log(t),t},ir=(r,...e)=>{let t=o.green("\u2713 ")+h(r,e);return console.log(t),t},G=(r,...e)=>{let t=o.red("-")+" "+h(r,e);return console.log(t),t},le=(r,...e)=>{let t=o.green("\u25CB ")+h(r,e);return console.log(t),t},ae=(r,...e)=>{let t=o.red("\u2717 ")+h(r,e);return console.log(t),t},ce=(r,...e)=>{let t=y("$t ")+h(r,e);return console.log(t),t},or=(r,...e)=>{let t=o.green("\u23FA Success ")+h(r,e);return console.log(t),t},lr=(r,...e)=>{let t=o.yellow("\u23FA Warn ")+h(r,e);return console.log(t),t},ar=(r,...e)=>{let t=o.bgGreen.bold.white(" \u2713 PASS ")+" "+h(r,e);return console.log(t),t},cr=r=>{console.log(ge(he(JSON.parse(JSON.stringify(r))),{spacerNeighbour:y("..\u2502..")+" ",keyNoNeighbour:y("..\u2514\u2500..")+" ",keyNeighbour:y("..\u251C\u2500..")+" ",separator:y("..:..")+" "}))};function he(r){for(let e in r){let t=r[e];Array.isArray(t)?r[e]=t.map(s=>y(`**${s}**`)).join(y("..,..")):typeof t=="object"?he(t):r[e]=y(`**${t}**`)}return r}var ur=(r,...e)=>{let t=o.red("\u23FA Fail ")+h(r,e);return console.log(t),t},gr=_e(Ge());function pr(r){let{message:e,stack:t}=typeof r=="string"?new Error(r):r,s={};return(0,gr.default)(t.replace(e,"").replace(/^Error: /,"")).split(`
|
|
10
|
-
`).forEach(n=>{s[n.split(" ").map(i=>i.replace(/^\((.+)\)$/,`${o.cyan("$1")}`).replace(/\./g,`${o.dim(".")}`).replace(/^at$/,l=>o.dim(l))).join(" ")]=null}),{message:e.trim().replace(/Error: /g,""),stackTree:s}}var fe=(r,...e)=>{if(r instanceof Error){let{message:t,stackTree:s}=pr(r);return console.log(""),console.log(o.bgRed.bold.white(" \u{1D5EB} ERROR ")+" "+o.bold.red(t)),console.log(ge(s,{spacerNeighbour:o.redBright.dim("\u2502\u2000\u2000"),keyNoNeighbour:o.redBright.dim("\u2514\u2500\u2000"),keyNeighbour:o.redBright.dim("\u251C\u2500 "),separator:o.redBright.dim(":\u2000")})),console.log(""),t}else{let t=h(r,e);return console.log(t),t}};Object.assign(fe,{a:ie,add:ie,d:G,del:G,delete:G,o:le,valid:le,x:ae,invalid:ae,i:ce,info:ce,e:oe,error:oe,success:or,fail:ur,warn:lr,pass:ar,conflict:nr,ok:ir,tree:cr,paint:y});var w=fe;var ve=m(require("stylelint")),R=class extends be.default{constructor(e){super(k,e)}css;extractions=new Set;get resolvedModuleId(){return"\0"+this.options.module}get moduleHMREvent(){return`HMR:${this.options.module}`}async init(){return this.extractions.clear(),console.log(""),this.css=new de.default({config:this.readConfig()}),await this.compile(),this}async compile(){if(this.options.fixedClasses?.length)for(let e of this.options.fixedClasses)this.css.insert(e);return await Promise.all(this.sources.map(async e=>{let t=me.default.readFileSync(A.default.resolve(this.options.cwd,e),{encoding:"utf-8"}).toString();await this.insert(e,t)})),this}extract(e,t){if(!e||!t||!this.checkSourcePath(e))return[];let s=[];for(let n of F({content:t,name:e},this.css))this.extractions.has(n)||(this.extractions.add(n),s.push(n));return s}async insert(e,t){let s=this.extract(e,t);if(!s.length)return!1;let n=U.performance.now(),i=[];await Promise.all(s.map(async a=>{let p=await this.createRules(a);p.length&&(this.css.insertRules(p),i.push(a))}));let l=Math.round((U.performance.now()-n)*100)/100;if(s.length&&(console.log(""),w`**${A.default.relative(this.options.cwd,e)}** ..${A.default.resolve(this.options.cwd,e)}..`,w`[extract] ${s.length} potential`),this.css.rules.length){let a=i.filter(p=>!s.includes(p));a.length&&w`[exclude] ${a.length} unknow ${a}`,w`[compile] +${i.length}+ valid inserted ${o.gray("in")} ${l}ms ${i}`,w`[virtual] ${this.css.rules.length} total ${o.gray("in")} ${this.options.module}`}return this.options.ignoredClasses?.length&&(s=s.filter(a=>{for(let p of this.options.ignoredClasses)if(typeof p=="string"){if(p===a)return!1}else if(p.test(a))return!1;return!0})),!0}async createRules(e){return(await Promise.all(this.css.create(e).map(async t=>(await ve.default.lint({code:t.text,cache:!1,config:{rules:{"color-no-invalid-hex":!0,"named-grid-areas-no-invalid":!0,"at-rule-no-unknown":!0,"function-no-unknown":!0,"media-feature-name-no-unknown":!0,"property-no-unknown":!0,"selector-pseudo-class-no-unknown":!0,"selector-pseudo-element-no-unknown":!0,"selector-type-no-unknown":!0,"unit-no-unknown":!0}}})).errored?null:t))).filter(t=>t)}get sources(){let{include:e,exclude:t,sources:s}=this.options,n=V.default.sync(e,{cwd:this.options.cwd,ignore:t});return s?.length&&n.push(...V.default.sync(s,{cwd:this.options.cwd})),n}checkSourcePath(e){let{include:t,exclude:s,sources:n}=this.options;for(let i of n)if((0,B.default)(e,i))return!0;for(let i of t)if(!(0,B.default)(e,i))return!1;for(let i of s)if((0,B.default)(e,i))return!1;return!0}get config(){return this.css.config}};0&&(module.exports={options});
|
package/dist/options/index.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Config } from '@master/css';
|
|
2
|
-
import type { Pattern as FastGlobPattern } from 'fast-glob';
|
|
3
|
-
import type { Options as TechorOptions } from 'techor';
|
|
4
|
-
declare const options: Options;
|
|
5
|
-
export declare type Source = {
|
|
6
|
-
name: string;
|
|
7
|
-
content: string;
|
|
8
|
-
};
|
|
9
|
-
export interface Options extends TechorOptions<Config> {
|
|
10
|
-
module?: string;
|
|
11
|
-
sources?: FastGlobPattern[];
|
|
12
|
-
include?: FastGlobPattern[];
|
|
13
|
-
exclude?: FastGlobPattern[];
|
|
14
|
-
fixedClasses?: string[];
|
|
15
|
-
ignoredClasses?: string[] | RegExp[];
|
|
16
|
-
}
|
|
17
|
-
export default options;
|