tailwind-styled-v4 5.0.2 → 5.0.3
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/dist/cli.js +477 -87
- package/dist/cli.js.map +1 -1
- package/dist/cli.mjs +477 -87
- package/dist/cli.mjs.map +1 -1
- package/dist/index.js +477 -87
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +477 -87
- package/dist/index.mjs.map +1 -1
- package/dist/next.js +477 -87
- package/dist/next.js.map +1 -1
- package/dist/next.mjs +477 -87
- package/dist/next.mjs.map +1 -1
- package/dist/vite.js +477 -87
- package/dist/vite.js.map +1 -1
- package/dist/vite.mjs +477 -87
- package/dist/vite.mjs.map +1 -1
- package/package.json +7 -4
package/dist/cli.mjs
CHANGED
|
@@ -32934,21 +32934,23 @@ try {
|
|
|
32934
32934
|
var __toCommonJS = (mod) => __copyProps222(__defProp222({}, "__esModule", { value: true }), mod);
|
|
32935
32935
|
var require_compiler22 = __commonJS222({
|
|
32936
32936
|
"dist/compiler.js"(exports$122, module2) {
|
|
32937
|
-
var crypto = __require222("crypto");
|
|
32938
|
-
var fs322 = __require222("fs");
|
|
32939
32937
|
var module$122 = __require222("module");
|
|
32940
32938
|
var path72 = __require222("path");
|
|
32941
32939
|
var url222 = __require222("url");
|
|
32942
32940
|
var tailwindMerge = __require222("tailwind-merge");
|
|
32941
|
+
var fs222 = __require222("fs");
|
|
32942
|
+
var crypto = __require222("crypto");
|
|
32943
32943
|
var _documentCurrentScript22 = typeof document !== "undefined" ? document.currentScript : null;
|
|
32944
32944
|
function _interopDefault222(e) {
|
|
32945
32945
|
return e && e.__esModule ? e : { default: e };
|
|
32946
32946
|
}
|
|
32947
|
-
var fs3__default = /* @__PURE__ */ _interopDefault222(fs322);
|
|
32948
32947
|
var path7__default = /* @__PURE__ */ _interopDefault222(path72);
|
|
32948
|
+
var fs2__default2 = /* @__PURE__ */ _interopDefault222(fs222);
|
|
32949
|
+
var __create2222 = Object.create;
|
|
32949
32950
|
var __defProp2222 = Object.defineProperty;
|
|
32950
32951
|
var __getOwnPropDesc2222 = Object.getOwnPropertyDescriptor;
|
|
32951
32952
|
var __getOwnPropNames2222 = Object.getOwnPropertyNames;
|
|
32953
|
+
var __getProtoOf2222 = Object.getPrototypeOf;
|
|
32952
32954
|
var __hasOwnProp2222 = Object.prototype.hasOwnProperty;
|
|
32953
32955
|
var __require2222 = /* @__PURE__ */ ((x3) => typeof __require222 !== "undefined" ? __require222 : typeof Proxy !== "undefined" ? new Proxy(x3, {
|
|
32954
32956
|
get: (a, b) => (typeof __require222 !== "undefined" ? __require222 : a)[b]
|
|
@@ -32959,6 +32961,9 @@ try {
|
|
|
32959
32961
|
var __esm22 = (fn, res) => function __init() {
|
|
32960
32962
|
return fn && (res = (0, fn[__getOwnPropNames2222(fn)[0]])(fn = 0)), res;
|
|
32961
32963
|
};
|
|
32964
|
+
var __commonJS2222 = (cb, mod) => function __require22222() {
|
|
32965
|
+
return mod || (0, cb[__getOwnPropNames2222(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
32966
|
+
};
|
|
32962
32967
|
var __export22 = (target, all) => {
|
|
32963
32968
|
for (var name in all)
|
|
32964
32969
|
__defProp2222(target, name, { get: all[name], enumerable: true });
|
|
@@ -32971,48 +32976,438 @@ try {
|
|
|
32971
32976
|
}
|
|
32972
32977
|
return to;
|
|
32973
32978
|
};
|
|
32979
|
+
var __toESM2222 = (mod, isNodeMode, target) => (target = mod != null ? __create2222(__getProtoOf2222(mod)) : {}, __copyProps2222(
|
|
32980
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
32981
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
32982
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
32983
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
32984
|
+
__defProp2222(target, "default", { value: mod, enumerable: true }),
|
|
32985
|
+
mod
|
|
32986
|
+
));
|
|
32974
32987
|
var __toCommonJS2 = (mod) => __copyProps2222(__defProp2222({}, "__esModule", { value: true }), mod);
|
|
32975
|
-
|
|
32976
|
-
|
|
32977
|
-
|
|
32978
|
-
|
|
32979
|
-
|
|
32980
|
-
|
|
32981
|
-
|
|
32982
|
-
|
|
32983
|
-
if (LEVELS[msgLevel] > LEVELS[currentLevel]) return;
|
|
32984
|
-
const line = `[${prefix}] ${args.map(String).join(" ")}
|
|
32985
|
-
`;
|
|
32986
|
-
process[stream].write(line);
|
|
32987
|
-
};
|
|
32988
|
-
return {
|
|
32989
|
-
error: (...a) => log222("error", "stderr", a),
|
|
32990
|
-
warn: (...a) => log222("warn", "stderr", a),
|
|
32991
|
-
info: (...a) => log222("info", "stdout", a),
|
|
32992
|
-
debug: (...a) => log222("debug", "stderr", a),
|
|
32993
|
-
setLevel: (l) => {
|
|
32994
|
-
currentLevel = l;
|
|
32988
|
+
var require_plugin = __commonJS2222({
|
|
32989
|
+
"dist/plugin.js"(exports$1222) {
|
|
32990
|
+
var TOKEN_ENGINE_KEY = "__TW_TOKEN_ENGINE__";
|
|
32991
|
+
function resolveTokenEngine() {
|
|
32992
|
+
if (typeof globalThis !== "undefined") {
|
|
32993
|
+
return globalThis[TOKEN_ENGINE_KEY];
|
|
32994
|
+
}
|
|
32995
|
+
return null;
|
|
32995
32996
|
}
|
|
32996
|
-
|
|
32997
|
-
|
|
32998
|
-
|
|
32999
|
-
|
|
33000
|
-
|
|
33001
|
-
|
|
33002
|
-
|
|
33003
|
-
|
|
33004
|
-
|
|
33005
|
-
|
|
33006
|
-
|
|
33007
|
-
|
|
33008
|
-
|
|
33009
|
-
|
|
32997
|
+
function readToken(engine, name) {
|
|
32998
|
+
if (!engine) return void 0;
|
|
32999
|
+
if (typeof engine.getToken === "function") return engine.getToken(name);
|
|
33000
|
+
if (typeof engine.getTokens === "function") {
|
|
33001
|
+
const tokens = engine.getTokens();
|
|
33002
|
+
return tokens?.[name];
|
|
33003
|
+
}
|
|
33004
|
+
return void 0;
|
|
33005
|
+
}
|
|
33006
|
+
function createTwPlugin(options = {}) {
|
|
33007
|
+
return {
|
|
33008
|
+
async resolveId(source, importer) {
|
|
33009
|
+
if (!source.startsWith("tw.") && !source.startsWith("tw:")) return null;
|
|
33010
|
+
const importPath = source.replace(/^tw[.:]/, "");
|
|
33011
|
+
const resolved = await this.resolve(importPath, importer, { skipSelf: true });
|
|
33012
|
+
if (resolved) return { id: resolved.id };
|
|
33013
|
+
return null;
|
|
33014
|
+
},
|
|
33015
|
+
async load(id) {
|
|
33016
|
+
return null;
|
|
33017
|
+
},
|
|
33018
|
+
async transform(code, id) {
|
|
33019
|
+
return null;
|
|
33020
|
+
},
|
|
33021
|
+
getToken(name) {
|
|
33022
|
+
const engine = resolveTokenEngine();
|
|
33023
|
+
return readToken(engine, name);
|
|
33024
|
+
},
|
|
33025
|
+
subscribeTokens(callback) {
|
|
33026
|
+
const engine = resolveTokenEngine();
|
|
33027
|
+
if (!engine) return () => {
|
|
33028
|
+
};
|
|
33029
|
+
if (typeof engine.subscribeTokens === "function") return engine.subscribeTokens(callback);
|
|
33030
|
+
if (typeof engine.subscribe === "function") return engine.subscribe(callback);
|
|
33031
|
+
return () => {
|
|
33032
|
+
};
|
|
33033
|
+
}
|
|
33034
|
+
};
|
|
33035
|
+
}
|
|
33036
|
+
var globalRegistry = {
|
|
33037
|
+
transforms: [],
|
|
33038
|
+
tokens: {}
|
|
33039
|
+
};
|
|
33040
|
+
function getGlobalRegistry2() {
|
|
33041
|
+
return globalRegistry;
|
|
33042
|
+
}
|
|
33043
|
+
function registerTransform(transform) {
|
|
33044
|
+
globalRegistry.transforms.push(transform);
|
|
33045
|
+
}
|
|
33046
|
+
function registerToken(name, value) {
|
|
33047
|
+
globalRegistry.tokens[name] = value;
|
|
33048
|
+
}
|
|
33049
|
+
function createRegistry() {
|
|
33050
|
+
return {
|
|
33051
|
+
variants: /* @__PURE__ */ new Map(),
|
|
33052
|
+
utilities: /* @__PURE__ */ new Map(),
|
|
33053
|
+
tokens: /* @__PURE__ */ new Map(),
|
|
33054
|
+
transforms: [],
|
|
33055
|
+
cssHooks: [],
|
|
33056
|
+
buildHooks: [],
|
|
33057
|
+
plugins: /* @__PURE__ */ new Set()
|
|
33058
|
+
};
|
|
33059
|
+
}
|
|
33060
|
+
var _globalRegistry = createRegistry();
|
|
33061
|
+
function resetGlobalRegistry() {
|
|
33062
|
+
_globalRegistry = createRegistry();
|
|
33063
|
+
}
|
|
33064
|
+
function createContext(registry, config = {}) {
|
|
33065
|
+
return {
|
|
33066
|
+
config,
|
|
33067
|
+
addVariant(name, resolver) {
|
|
33068
|
+
registry.variants.set(name, resolver);
|
|
33069
|
+
},
|
|
33070
|
+
addUtility(name, styles) {
|
|
33071
|
+
registry.utilities.set(name, styles);
|
|
33072
|
+
},
|
|
33073
|
+
addToken(name, value) {
|
|
33074
|
+
const normalized = name.replace(/[^a-zA-Z0-9-]/g, "-").toLowerCase();
|
|
33075
|
+
registry.tokens.set(normalized, value);
|
|
33076
|
+
},
|
|
33077
|
+
addTransform(fn) {
|
|
33078
|
+
registry.transforms.push(fn);
|
|
33079
|
+
},
|
|
33080
|
+
onGenerateCSS(hook) {
|
|
33081
|
+
registry.cssHooks.push(hook);
|
|
33082
|
+
},
|
|
33083
|
+
onBuildEnd(hook) {
|
|
33084
|
+
registry.buildHooks.push(hook);
|
|
33085
|
+
},
|
|
33086
|
+
getToken(name) {
|
|
33087
|
+
return readToken(resolveTokenEngine(), name);
|
|
33088
|
+
},
|
|
33089
|
+
subscribeTokens(callback) {
|
|
33090
|
+
const engine = resolveTokenEngine();
|
|
33091
|
+
if (!engine) return () => {
|
|
33092
|
+
};
|
|
33093
|
+
if (typeof engine.subscribeTokens === "function") return engine.subscribeTokens(callback);
|
|
33094
|
+
if (typeof engine.subscribe === "function") return engine.subscribe(callback);
|
|
33095
|
+
return () => {
|
|
33096
|
+
};
|
|
33097
|
+
}
|
|
33098
|
+
};
|
|
33099
|
+
}
|
|
33100
|
+
function createTw(config = {}) {
|
|
33101
|
+
const registry = createRegistry();
|
|
33102
|
+
const ctx = createContext(registry, config);
|
|
33103
|
+
const result = ctx;
|
|
33104
|
+
result.registry = {
|
|
33105
|
+
plugins: registry.plugins,
|
|
33106
|
+
variants: registry.variants,
|
|
33107
|
+
utilities: registry.utilities,
|
|
33108
|
+
tokens: registry.tokens
|
|
33109
|
+
};
|
|
33110
|
+
result.use = (plugin) => {
|
|
33111
|
+
plugin.setup(ctx);
|
|
33112
|
+
registry.plugins.add(plugin.name);
|
|
33113
|
+
};
|
|
33114
|
+
if (config.plugins && Array.isArray(config.plugins)) {
|
|
33115
|
+
for (const plugin of config.plugins) {
|
|
33116
|
+
if (plugin && plugin.name) {
|
|
33117
|
+
result.use(plugin);
|
|
33118
|
+
}
|
|
33119
|
+
}
|
|
33120
|
+
}
|
|
33121
|
+
return result;
|
|
33122
|
+
}
|
|
33123
|
+
function use(plugin) {
|
|
33124
|
+
const ctx = createContext(_globalRegistry);
|
|
33125
|
+
plugin.setup(ctx);
|
|
33126
|
+
}
|
|
33127
|
+
function presetTokens(tokens) {
|
|
33128
|
+
return {
|
|
33129
|
+
name: "preset-tokens",
|
|
33130
|
+
setup(ctx) {
|
|
33131
|
+
for (const [name, value] of Object.entries(tokens)) {
|
|
33132
|
+
ctx.addToken(name, value);
|
|
33133
|
+
}
|
|
33134
|
+
}
|
|
33135
|
+
};
|
|
33136
|
+
}
|
|
33137
|
+
function presetVariants(variants) {
|
|
33138
|
+
return {
|
|
33139
|
+
name: "preset-variants",
|
|
33140
|
+
setup(ctx) {
|
|
33141
|
+
for (const [name, resolver] of Object.entries(variants)) {
|
|
33142
|
+
ctx.addVariant(name, resolver);
|
|
33143
|
+
}
|
|
33144
|
+
}
|
|
33145
|
+
};
|
|
33146
|
+
}
|
|
33147
|
+
function presetScrollbar() {
|
|
33148
|
+
return {
|
|
33149
|
+
name: "preset-scrollbar",
|
|
33150
|
+
setup(ctx) {
|
|
33151
|
+
ctx.addVariant("scrollbar-thin", () => "::-webkit-scrollbar{width:8px;height:8px}");
|
|
33152
|
+
ctx.addVariant("scrollbar-none", () => "::-webkit-scrollbar{display:none}");
|
|
33153
|
+
ctx.addUtility("scrollbar-hide", { "-ms-overflow-style": "none", "scrollbar-width": "none" });
|
|
33154
|
+
}
|
|
33155
|
+
};
|
|
33156
|
+
}
|
|
33157
|
+
exports$1222.createTw = createTw;
|
|
33158
|
+
exports$1222.createTwPlugin = createTwPlugin;
|
|
33159
|
+
exports$1222.getGlobalRegistry = getGlobalRegistry2;
|
|
33160
|
+
exports$1222.presetScrollbar = presetScrollbar;
|
|
33161
|
+
exports$1222.presetTokens = presetTokens;
|
|
33162
|
+
exports$1222.presetVariants = presetVariants;
|
|
33163
|
+
exports$1222.registerToken = registerToken;
|
|
33164
|
+
exports$1222.registerTransform = registerTransform;
|
|
33165
|
+
exports$1222.resetGlobalRegistry = resetGlobalRegistry;
|
|
33166
|
+
exports$1222.use = use;
|
|
33010
33167
|
}
|
|
33011
33168
|
});
|
|
33012
|
-
var
|
|
33013
|
-
"
|
|
33014
|
-
|
|
33015
|
-
|
|
33169
|
+
var require_shared222 = __commonJS2222({
|
|
33170
|
+
"dist/shared.js"(exports$1222) {
|
|
33171
|
+
var fs5 = __require2222("fs");
|
|
33172
|
+
var module$1222 = __require2222("module");
|
|
33173
|
+
var os = __require2222("os");
|
|
33174
|
+
var path92 = __require2222("path");
|
|
33175
|
+
var url2222 = __require2222("url");
|
|
33176
|
+
var crypto2 = __require2222("crypto");
|
|
33177
|
+
function _interopDefault2222(e) {
|
|
33178
|
+
return e && e.__esModule ? e : { default: e };
|
|
33179
|
+
}
|
|
33180
|
+
var fs__default22 = /* @__PURE__ */ _interopDefault2222(fs5);
|
|
33181
|
+
var os__default = /* @__PURE__ */ _interopDefault2222(os);
|
|
33182
|
+
var path__default2 = /* @__PURE__ */ _interopDefault2222(path92);
|
|
33183
|
+
var LRUCache = class {
|
|
33184
|
+
constructor(max = 256, ttlMs = null) {
|
|
33185
|
+
this.map = /* @__PURE__ */ new Map();
|
|
33186
|
+
this.max = max;
|
|
33187
|
+
this.ttlMs = ttlMs;
|
|
33188
|
+
}
|
|
33189
|
+
get(key) {
|
|
33190
|
+
const entry = this.map.get(key);
|
|
33191
|
+
if (!entry) return void 0;
|
|
33192
|
+
if (this.ttlMs !== null && Date.now() - entry.ts > this.ttlMs) {
|
|
33193
|
+
this.map.delete(key);
|
|
33194
|
+
return void 0;
|
|
33195
|
+
}
|
|
33196
|
+
this.map.delete(key);
|
|
33197
|
+
this.map.set(key, entry);
|
|
33198
|
+
return entry.value;
|
|
33199
|
+
}
|
|
33200
|
+
set(key, value) {
|
|
33201
|
+
if (this.map.has(key)) this.map.delete(key);
|
|
33202
|
+
else if (this.map.size >= this.max) {
|
|
33203
|
+
this.map.delete(this.map.keys().next().value);
|
|
33204
|
+
}
|
|
33205
|
+
this.map.set(key, { value, ts: Date.now() });
|
|
33206
|
+
}
|
|
33207
|
+
has(key) {
|
|
33208
|
+
return this.get(key) !== void 0;
|
|
33209
|
+
}
|
|
33210
|
+
delete(key) {
|
|
33211
|
+
this.map.delete(key);
|
|
33212
|
+
}
|
|
33213
|
+
clear() {
|
|
33214
|
+
this.map.clear();
|
|
33215
|
+
}
|
|
33216
|
+
get size() {
|
|
33217
|
+
return this.map.size;
|
|
33218
|
+
}
|
|
33219
|
+
keys() {
|
|
33220
|
+
return this.map.keys();
|
|
33221
|
+
}
|
|
33222
|
+
*values() {
|
|
33223
|
+
for (const entry of this.map.values()) {
|
|
33224
|
+
yield entry.value;
|
|
33225
|
+
}
|
|
33226
|
+
}
|
|
33227
|
+
*entries() {
|
|
33228
|
+
for (const [key, entry] of this.map.entries()) {
|
|
33229
|
+
yield [key, entry.value];
|
|
33230
|
+
}
|
|
33231
|
+
}
|
|
33232
|
+
};
|
|
33233
|
+
function getPlatformExtension() {
|
|
33234
|
+
const platform = os__default.default.platform();
|
|
33235
|
+
switch (platform) {
|
|
33236
|
+
case "win32":
|
|
33237
|
+
return ".node";
|
|
33238
|
+
case "darwin":
|
|
33239
|
+
return ".dylib";
|
|
33240
|
+
case "linux":
|
|
33241
|
+
return ".so";
|
|
33242
|
+
default:
|
|
33243
|
+
return ".node";
|
|
33244
|
+
}
|
|
33245
|
+
}
|
|
33246
|
+
function formatErrorMessage2(error) {
|
|
33247
|
+
return error instanceof Error ? error.message : String(error);
|
|
33248
|
+
}
|
|
33249
|
+
function resolveRuntimeDir2(dirnameValue, moduleImportUrl) {
|
|
33250
|
+
if (typeof dirnameValue === "string" && dirnameValue.length > 0) return dirnameValue;
|
|
33251
|
+
return path__default2.default.dirname(url2222.fileURLToPath(moduleImportUrl));
|
|
33252
|
+
}
|
|
33253
|
+
function resolveNativeBindingCandidates2(options) {
|
|
33254
|
+
const out = [];
|
|
33255
|
+
const envVarNames = options.envVarNames ?? ["TWS_NATIVE_PATH"];
|
|
33256
|
+
for (const envVarName of envVarNames) {
|
|
33257
|
+
const raw = process.env[envVarName]?.trim();
|
|
33258
|
+
if (!raw) continue;
|
|
33259
|
+
const resolved = path__default2.default.resolve(raw);
|
|
33260
|
+
if (options.enforceNodeExtensionForEnvPath) {
|
|
33261
|
+
if (path__default2.default.extname(resolved).toLowerCase() !== ".node") {
|
|
33262
|
+
throw new Error(
|
|
33263
|
+
`Invalid native binding path from ${envVarName}="${raw}". Expected a .node file.`
|
|
33264
|
+
);
|
|
33265
|
+
}
|
|
33266
|
+
}
|
|
33267
|
+
out.push(resolved);
|
|
33268
|
+
}
|
|
33269
|
+
if (options.includeDefaultCandidates !== false) {
|
|
33270
|
+
const ext = options.platformExtension ?? getPlatformExtension();
|
|
33271
|
+
const defaultBindingName = `tailwind_styled_parser${ext}`;
|
|
33272
|
+
out.push(path__default2.default.resolve(process.cwd(), "native", defaultBindingName));
|
|
33273
|
+
out.push(path__default2.default.resolve(options.runtimeDir, "..", "..", "..", "native", defaultBindingName));
|
|
33274
|
+
}
|
|
33275
|
+
return Array.from(new Set(out));
|
|
33276
|
+
}
|
|
33277
|
+
function parseDebugToken(namespace, token) {
|
|
33278
|
+
if (token === "*" || token === namespace || token === "tailwind-styled:*") return true;
|
|
33279
|
+
return token.endsWith("*") && namespace.startsWith(token.slice(0, -1));
|
|
33280
|
+
}
|
|
33281
|
+
function isDebugNamespaceEnabled(namespace) {
|
|
33282
|
+
if (process.env.TWS_DEBUG === "1" || process.env.TAILWIND_STYLED_DEBUG === "1") return true;
|
|
33283
|
+
const raw = process.env.DEBUG;
|
|
33284
|
+
if (!raw) return false;
|
|
33285
|
+
return raw.split(",").map((token) => token.trim()).some((token) => parseDebugToken(namespace, token));
|
|
33286
|
+
}
|
|
33287
|
+
function createDebugLogger2(namespace, label = namespace) {
|
|
33288
|
+
const debugEnabled = isDebugNamespaceEnabled(namespace);
|
|
33289
|
+
return (message) => {
|
|
33290
|
+
if (!debugEnabled) return;
|
|
33291
|
+
console.debug(`[${label}] ${message}`);
|
|
33292
|
+
};
|
|
33293
|
+
}
|
|
33294
|
+
function loadNativeBinding2(options) {
|
|
33295
|
+
const req = module$1222.createRequire(path__default2.default.join(options.runtimeDir, "noop.cjs"));
|
|
33296
|
+
const loadErrors2 = [];
|
|
33297
|
+
for (const candidate of options.candidates) {
|
|
33298
|
+
if (!fs__default22.default.existsSync(candidate)) continue;
|
|
33299
|
+
try {
|
|
33300
|
+
const mod = req(candidate);
|
|
33301
|
+
if (options.isValid(mod)) {
|
|
33302
|
+
return {
|
|
33303
|
+
binding: mod,
|
|
33304
|
+
loadedPath: candidate,
|
|
33305
|
+
loadErrors: loadErrors2
|
|
33306
|
+
};
|
|
33307
|
+
}
|
|
33308
|
+
loadErrors2.push({
|
|
33309
|
+
path: candidate,
|
|
33310
|
+
message: options.invalidExportMessage
|
|
33311
|
+
});
|
|
33312
|
+
} catch (error) {
|
|
33313
|
+
loadErrors2.push({
|
|
33314
|
+
path: candidate,
|
|
33315
|
+
message: formatErrorMessage2(error)
|
|
33316
|
+
});
|
|
33317
|
+
}
|
|
33318
|
+
}
|
|
33319
|
+
return {
|
|
33320
|
+
binding: null,
|
|
33321
|
+
loadedPath: null,
|
|
33322
|
+
loadErrors: loadErrors2
|
|
33323
|
+
};
|
|
33324
|
+
}
|
|
33325
|
+
var LEVELS = { silent: 0, error: 1, warn: 2, info: 3, debug: 4 };
|
|
33326
|
+
function getEnvLevel() {
|
|
33327
|
+
const env = process.env.TWS_LOG_LEVEL?.toLowerCase();
|
|
33328
|
+
if (env && env in LEVELS) return env;
|
|
33329
|
+
return process.env.TWS_DEBUG_SCANNER === "1" ? "debug" : "info";
|
|
33330
|
+
}
|
|
33331
|
+
function createLogger22(prefix, level) {
|
|
33332
|
+
let currentLevel = level ?? getEnvLevel();
|
|
33333
|
+
const log222 = (msgLevel, stream, args) => {
|
|
33334
|
+
if (LEVELS[msgLevel] > LEVELS[currentLevel]) return;
|
|
33335
|
+
const line = `[${prefix}] ${args.map(String).join(" ")}
|
|
33336
|
+
`;
|
|
33337
|
+
process[stream].write(line);
|
|
33338
|
+
};
|
|
33339
|
+
return {
|
|
33340
|
+
error: (...a) => log222("error", "stderr", a),
|
|
33341
|
+
warn: (...a) => log222("warn", "stderr", a),
|
|
33342
|
+
info: (...a) => log222("info", "stdout", a),
|
|
33343
|
+
debug: (...a) => log222("debug", "stderr", a),
|
|
33344
|
+
setLevel: (l) => {
|
|
33345
|
+
currentLevel = l;
|
|
33346
|
+
}
|
|
33347
|
+
};
|
|
33348
|
+
}
|
|
33349
|
+
var logger = createLogger22("tailwind-styled");
|
|
33350
|
+
function hashContent2(content, algorithm = "md5", length = 8) {
|
|
33351
|
+
return crypto2.createHash(algorithm).update(content).digest("hex").slice(0, length);
|
|
33352
|
+
}
|
|
33353
|
+
function hashFile(filePath, algorithm = "md5", length = 8) {
|
|
33354
|
+
try {
|
|
33355
|
+
const content = fs__default22.default.readFileSync(filePath, "utf8");
|
|
33356
|
+
return hashContent2(content, algorithm, length);
|
|
33357
|
+
} catch {
|
|
33358
|
+
return "00000000";
|
|
33359
|
+
}
|
|
33360
|
+
}
|
|
33361
|
+
function debounce(fn, ms) {
|
|
33362
|
+
let timer = null;
|
|
33363
|
+
return ((...args) => {
|
|
33364
|
+
if (timer) clearTimeout(timer);
|
|
33365
|
+
timer = setTimeout(() => {
|
|
33366
|
+
timer = null;
|
|
33367
|
+
fn(...args);
|
|
33368
|
+
}, ms);
|
|
33369
|
+
});
|
|
33370
|
+
}
|
|
33371
|
+
function throttle(fn, ms) {
|
|
33372
|
+
let last = 0;
|
|
33373
|
+
return ((...args) => {
|
|
33374
|
+
const now = Date.now();
|
|
33375
|
+
if (now - last >= ms) {
|
|
33376
|
+
last = now;
|
|
33377
|
+
fn(...args);
|
|
33378
|
+
}
|
|
33379
|
+
});
|
|
33380
|
+
}
|
|
33381
|
+
function parseVersion(v) {
|
|
33382
|
+
const parts = v.replace(/^v/, "").split(".").map((p) => {
|
|
33383
|
+
const n = Number(p);
|
|
33384
|
+
return Number.isNaN(n) ? 0 : n;
|
|
33385
|
+
});
|
|
33386
|
+
const [major = 0, minor = 0, patch = 0] = parts;
|
|
33387
|
+
return { major, minor, patch };
|
|
33388
|
+
}
|
|
33389
|
+
function satisfiesMinVersion(version, minVersion) {
|
|
33390
|
+
const v = parseVersion(version);
|
|
33391
|
+
const min = parseVersion(minVersion);
|
|
33392
|
+
if (v.major !== min.major) return v.major > min.major;
|
|
33393
|
+
if (v.minor !== min.minor) return v.minor > min.minor;
|
|
33394
|
+
return v.patch >= min.patch;
|
|
33395
|
+
}
|
|
33396
|
+
exports$1222.LRUCache = LRUCache;
|
|
33397
|
+
exports$1222.createDebugLogger = createDebugLogger2;
|
|
33398
|
+
exports$1222.createLogger = createLogger22;
|
|
33399
|
+
exports$1222.debounce = debounce;
|
|
33400
|
+
exports$1222.formatErrorMessage = formatErrorMessage2;
|
|
33401
|
+
exports$1222.hashContent = hashContent2;
|
|
33402
|
+
exports$1222.hashFile = hashFile;
|
|
33403
|
+
exports$1222.isDebugNamespaceEnabled = isDebugNamespaceEnabled;
|
|
33404
|
+
exports$1222.loadNativeBinding = loadNativeBinding2;
|
|
33405
|
+
exports$1222.logger = logger;
|
|
33406
|
+
exports$1222.parseVersion = parseVersion;
|
|
33407
|
+
exports$1222.resolveNativeBindingCandidates = resolveNativeBindingCandidates2;
|
|
33408
|
+
exports$1222.resolveRuntimeDir = resolveRuntimeDir2;
|
|
33409
|
+
exports$1222.satisfiesMinVersion = satisfiesMinVersion;
|
|
33410
|
+
exports$1222.throttle = throttle;
|
|
33016
33411
|
}
|
|
33017
33412
|
});
|
|
33018
33413
|
var nativeBridge_exports = {};
|
|
@@ -33115,6 +33510,7 @@ Or install a prebuilt binary for your platform.`
|
|
|
33115
33510
|
metadata
|
|
33116
33511
|
};
|
|
33117
33512
|
}
|
|
33513
|
+
var import_shared222;
|
|
33118
33514
|
var getDirname2;
|
|
33119
33515
|
var runtimeDir;
|
|
33120
33516
|
var requireFromRuntime;
|
|
@@ -33122,7 +33518,7 @@ Or install a prebuilt binary for your platform.`
|
|
|
33122
33518
|
var log22;
|
|
33123
33519
|
var init_nativeBridge = __esm22({
|
|
33124
33520
|
"packages/compiler/src/nativeBridge.ts"() {
|
|
33125
|
-
|
|
33521
|
+
import_shared222 = __toESM2222(require_shared222());
|
|
33126
33522
|
getDirname2 = () => {
|
|
33127
33523
|
if (typeof __dirname !== "undefined") {
|
|
33128
33524
|
return __dirname;
|
|
@@ -33134,7 +33530,7 @@ Or install a prebuilt binary for your platform.`
|
|
|
33134
33530
|
};
|
|
33135
33531
|
runtimeDir = getDirname2();
|
|
33136
33532
|
requireFromRuntime = typeof module2 !== "undefined" && typeof module2.require === "function" ? module2.require.bind(module2) : module$122.createRequire(path7__default.default.join(runtimeDir, "noop.cjs"));
|
|
33137
|
-
log22 =
|
|
33533
|
+
log22 = (0, import_shared222.createLogger)("compiler:native");
|
|
33138
33534
|
}
|
|
33139
33535
|
});
|
|
33140
33536
|
function requireNative() {
|
|
@@ -34859,13 +35255,7 @@ body {
|
|
|
34859
35255
|
`;
|
|
34860
35256
|
}
|
|
34861
35257
|
});
|
|
34862
|
-
var
|
|
34863
|
-
transforms: [],
|
|
34864
|
-
tokens: {}
|
|
34865
|
-
};
|
|
34866
|
-
function getGlobalRegistry() {
|
|
34867
|
-
return globalRegistry;
|
|
34868
|
-
}
|
|
35258
|
+
var import_plugin2 = __toESM2222(require_plugin());
|
|
34869
35259
|
function mergeClassesStatic2(classes) {
|
|
34870
35260
|
return tailwindMerge.twMerge(classes);
|
|
34871
35261
|
}
|
|
@@ -35604,7 +35994,7 @@ ${subAssignments}
|
|
|
35604
35994
|
compoundVariants: compounds,
|
|
35605
35995
|
defaultVariants: defaults
|
|
35606
35996
|
};
|
|
35607
|
-
const registry = getGlobalRegistry();
|
|
35997
|
+
const registry = (0, import_plugin2.getGlobalRegistry)();
|
|
35608
35998
|
if (registry.transforms.length > 0) {
|
|
35609
35999
|
const componentName = `Tw${tag}`;
|
|
35610
36000
|
for (const transform of registry.transforms) {
|
|
@@ -35784,8 +36174,8 @@ Please ensure the native module is properly built.`
|
|
|
35784
36174
|
function scanFiles(dir) {
|
|
35785
36175
|
const files = [];
|
|
35786
36176
|
function walk(current) {
|
|
35787
|
-
if (!
|
|
35788
|
-
const entries =
|
|
36177
|
+
if (!fs2__default2.default.existsSync(current)) return;
|
|
36178
|
+
const entries = fs2__default2.default.readdirSync(current, { withFileTypes: true });
|
|
35789
36179
|
for (const entry of entries) {
|
|
35790
36180
|
if (SKIP_DIRS.has(entry.name)) continue;
|
|
35791
36181
|
const fullPath = path7__default.default.join(current, entry.name);
|
|
@@ -35806,7 +36196,7 @@ Please ensure the native module is properly built.`
|
|
|
35806
36196
|
const files = scanFiles(absDir);
|
|
35807
36197
|
for (const file of files) {
|
|
35808
36198
|
try {
|
|
35809
|
-
const source =
|
|
36199
|
+
const source = fs2__default2.default.readFileSync(file, "utf-8");
|
|
35810
36200
|
const usage = extractComponentUsage(source);
|
|
35811
36201
|
for (const [comp, props] of Object.entries(usage)) {
|
|
35812
36202
|
if (!combined[comp]) combined[comp] = {};
|
|
@@ -35945,19 +36335,19 @@ Please ensure the native module is properly built.`
|
|
|
35945
36335
|
}
|
|
35946
36336
|
return { css, report };
|
|
35947
36337
|
}
|
|
35948
|
-
|
|
36338
|
+
var import_shared2222 = __toESM2222(require_shared222());
|
|
35949
36339
|
var CACHE_DIR = ".tw-cache";
|
|
35950
36340
|
var HASH_CACHE_FILE = path7__default.default.join(CACHE_DIR, "file-hashes.json");
|
|
35951
36341
|
var GRAPH_CACHE_FILE = path7__default.default.join(CACHE_DIR, "dep-graph.json");
|
|
35952
36342
|
function ensureCacheDir() {
|
|
35953
|
-
if (!
|
|
35954
|
-
|
|
36343
|
+
if (!fs2__default2.default.existsSync(CACHE_DIR)) {
|
|
36344
|
+
fs2__default2.default.mkdirSync(CACHE_DIR, { recursive: true });
|
|
35955
36345
|
}
|
|
35956
36346
|
}
|
|
35957
36347
|
function loadHashCache() {
|
|
35958
36348
|
try {
|
|
35959
|
-
if (
|
|
35960
|
-
const raw =
|
|
36349
|
+
if (fs2__default2.default.existsSync(HASH_CACHE_FILE)) {
|
|
36350
|
+
const raw = fs2__default2.default.readFileSync(HASH_CACHE_FILE, "utf-8");
|
|
35961
36351
|
return new Map(Object.entries(JSON.parse(raw)));
|
|
35962
36352
|
}
|
|
35963
36353
|
} catch {
|
|
@@ -35968,14 +36358,14 @@ Please ensure the native module is properly built.`
|
|
|
35968
36358
|
try {
|
|
35969
36359
|
ensureCacheDir();
|
|
35970
36360
|
const obj = Object.fromEntries(cache);
|
|
35971
|
-
|
|
36361
|
+
fs2__default2.default.writeFileSync(HASH_CACHE_FILE, JSON.stringify(obj, null, 2));
|
|
35972
36362
|
} catch {
|
|
35973
36363
|
}
|
|
35974
36364
|
}
|
|
35975
36365
|
function loadGraphCache() {
|
|
35976
36366
|
try {
|
|
35977
|
-
if (
|
|
35978
|
-
const raw =
|
|
36367
|
+
if (fs2__default2.default.existsSync(GRAPH_CACHE_FILE)) {
|
|
36368
|
+
const raw = fs2__default2.default.readFileSync(GRAPH_CACHE_FILE, "utf-8");
|
|
35979
36369
|
const data = JSON.parse(raw);
|
|
35980
36370
|
return new Map(Object.entries(data));
|
|
35981
36371
|
}
|
|
@@ -35987,7 +36377,7 @@ Please ensure the native module is properly built.`
|
|
|
35987
36377
|
try {
|
|
35988
36378
|
ensureCacheDir();
|
|
35989
36379
|
const obj = Object.fromEntries(graph);
|
|
35990
|
-
|
|
36380
|
+
fs2__default2.default.writeFileSync(GRAPH_CACHE_FILE, JSON.stringify(obj, null, 2));
|
|
35991
36381
|
} catch {
|
|
35992
36382
|
}
|
|
35993
36383
|
}
|
|
@@ -36010,7 +36400,7 @@ Please ensure the native module is properly built.`
|
|
|
36010
36400
|
return result;
|
|
36011
36401
|
}
|
|
36012
36402
|
function hashFileContent(content) {
|
|
36013
|
-
return hashContent(content, "md5", 8);
|
|
36403
|
+
return (0, import_shared2222.hashContent)(content, "md5", 8);
|
|
36014
36404
|
}
|
|
36015
36405
|
function makeAtomicClass(declaration, modifier) {
|
|
36016
36406
|
const key = modifier ? `${declaration}::${modifier}` : declaration;
|
|
@@ -36092,8 +36482,8 @@ Please ensure the native module is properly built.`
|
|
|
36092
36482
|
}
|
|
36093
36483
|
loadFromDisk() {
|
|
36094
36484
|
try {
|
|
36095
|
-
if (
|
|
36096
|
-
const css =
|
|
36485
|
+
if (fs2__default2.default.existsSync(this.outputPath)) {
|
|
36486
|
+
const css = fs2__default2.default.readFileSync(this.outputPath, "utf-8");
|
|
36097
36487
|
const ruleRe = /(\.tw-[a-z0-9]+(?::[\w-]+)?)\{([^}]+)\}|(@[^{]+)\{(\.tw-[a-z0-9]+)\{([^}]+)\}\}/g;
|
|
36098
36488
|
let m;
|
|
36099
36489
|
while ((m = ruleRe.exec(css)) !== null) {
|
|
@@ -36123,7 +36513,7 @@ Please ensure the native module is properly built.`
|
|
|
36123
36513
|
try {
|
|
36124
36514
|
ensureCacheDir();
|
|
36125
36515
|
const css = Array.from(this.ruleMap.values()).join("\n");
|
|
36126
|
-
await
|
|
36516
|
+
await fs2__default2.default.promises.writeFile(this.outputPath, css, "utf-8");
|
|
36127
36517
|
this.dirty = false;
|
|
36128
36518
|
} catch {
|
|
36129
36519
|
}
|
|
@@ -36134,7 +36524,7 @@ Please ensure the native module is properly built.`
|
|
|
36134
36524
|
try {
|
|
36135
36525
|
ensureCacheDir();
|
|
36136
36526
|
const css = Array.from(this.ruleMap.values()).join("\n");
|
|
36137
|
-
|
|
36527
|
+
fs2__default2.default.writeFileSync(this.outputPath, css, "utf-8");
|
|
36138
36528
|
this.dirty = false;
|
|
36139
36529
|
} catch {
|
|
36140
36530
|
}
|
|
@@ -37091,7 +37481,7 @@ The native binding is required for all transformations.`
|
|
|
37091
37481
|
_cachedCwd = cwd2;
|
|
37092
37482
|
for (const file of CONFIG_FILES) {
|
|
37093
37483
|
const fullPath = path7__default.default.join(cwd2, file);
|
|
37094
|
-
if (
|
|
37484
|
+
if (fs2__default2.default.existsSync(fullPath)) {
|
|
37095
37485
|
try {
|
|
37096
37486
|
const mod = __require2222(fullPath);
|
|
37097
37487
|
const config = mod.default ?? mod;
|
|
@@ -37119,14 +37509,14 @@ The native binding is required for all transformations.`
|
|
|
37119
37509
|
if (config.content?.files) {
|
|
37120
37510
|
return config.content.files.filter((f) => typeof f === "string");
|
|
37121
37511
|
}
|
|
37122
|
-
return ["src", "app", "pages", "components"].filter((d) =>
|
|
37512
|
+
return ["src", "app", "pages", "components"].filter((d) => fs2__default2.default.existsSync(path7__default.default.join(cwd2, d))).map((d) => `./${d}/**/*.{tsx,ts,jsx,js}`);
|
|
37123
37513
|
}
|
|
37124
37514
|
function invalidateConfigCache() {
|
|
37125
37515
|
_cachedConfig = null;
|
|
37126
37516
|
_cachedCwd = "";
|
|
37127
37517
|
}
|
|
37128
37518
|
function isZeroConfig(cwd2 = process.cwd()) {
|
|
37129
|
-
return !CONFIG_FILES.some((f) =>
|
|
37519
|
+
return !CONFIG_FILES.some((f) => fs2__default2.default.existsSync(path7__default.default.join(cwd2, f)));
|
|
37130
37520
|
}
|
|
37131
37521
|
function bootstrapZeroConfig(cwd2 = process.cwd()) {
|
|
37132
37522
|
let generatedConfig = false;
|
|
@@ -37138,13 +37528,13 @@ The native binding is required for all transformations.`
|
|
|
37138
37528
|
"src/index.css",
|
|
37139
37529
|
"src/styles/globals.css"
|
|
37140
37530
|
];
|
|
37141
|
-
const hasGlobalCss = cssPaths.some((p) =>
|
|
37531
|
+
const hasGlobalCss = cssPaths.some((p) => fs2__default2.default.existsSync(path7__default.default.join(cwd2, p)));
|
|
37142
37532
|
if (!hasGlobalCss) {
|
|
37143
37533
|
const { defaultGlobalCss: defaultGlobalCss2 } = (init_defaultPreset(), __toCommonJS2(defaultPreset_exports));
|
|
37144
|
-
const appDir =
|
|
37534
|
+
const appDir = fs2__default2.default.existsSync(path7__default.default.join(cwd2, "src/app")) ? "src/app" : fs2__default2.default.existsSync(path7__default.default.join(cwd2, "app")) ? "app" : "src";
|
|
37145
37535
|
const cssPath = path7__default.default.join(cwd2, appDir, "globals.css");
|
|
37146
|
-
if (
|
|
37147
|
-
|
|
37536
|
+
if (fs2__default2.default.existsSync(path7__default.default.dirname(cssPath))) {
|
|
37537
|
+
fs2__default2.default.writeFileSync(cssPath, defaultGlobalCss2);
|
|
37148
37538
|
generatedCss = true;
|
|
37149
37539
|
console.log(`[tailwind-styled-v4] Generated ${cssPath}`);
|
|
37150
37540
|
}
|
|
@@ -37217,8 +37607,8 @@ Please build the native module.`
|
|
|
37217
37607
|
}
|
|
37218
37608
|
var SCAN_EXTENSIONS2 = [".tsx", ".ts", ".jsx", ".js"];
|
|
37219
37609
|
function scanDir(dir, files = []) {
|
|
37220
|
-
if (!
|
|
37221
|
-
const entries =
|
|
37610
|
+
if (!fs2__default2.default.existsSync(dir)) return files;
|
|
37611
|
+
const entries = fs2__default2.default.readdirSync(dir, { withFileTypes: true });
|
|
37222
37612
|
for (const entry of entries) {
|
|
37223
37613
|
if (entry.name === "node_modules" || entry.name === ".next" || entry.name === "dist") continue;
|
|
37224
37614
|
const fullPath = path7__default.default.join(dir, entry.name);
|
|
@@ -37237,7 +37627,7 @@ Please build the native module.`
|
|
|
37237
37627
|
const files = scanDir(absDir);
|
|
37238
37628
|
for (const file of files) {
|
|
37239
37629
|
try {
|
|
37240
|
-
const source =
|
|
37630
|
+
const source = fs2__default2.default.readFileSync(file, "utf-8");
|
|
37241
37631
|
const classes = extractAllClasses2(source);
|
|
37242
37632
|
classes.forEach((c) => allClasses.add(c));
|
|
37243
37633
|
} catch {
|
|
@@ -37246,13 +37636,13 @@ Please build the native module.`
|
|
|
37246
37636
|
}
|
|
37247
37637
|
const sorted = Array.from(allClasses).sort();
|
|
37248
37638
|
const absOutput = path7__default.default.isAbsolute(outputPath) ? outputPath : path7__default.default.resolve(cwd2, outputPath);
|
|
37249
|
-
|
|
37639
|
+
fs2__default2.default.writeFileSync(absOutput, JSON.stringify(sorted, null, 2));
|
|
37250
37640
|
console.log(`[tailwind-styled-v4] Safelist: ${sorted.length} classes \u2192 ${absOutput}`);
|
|
37251
37641
|
return sorted;
|
|
37252
37642
|
}
|
|
37253
37643
|
function loadSafelist(safelistPath) {
|
|
37254
37644
|
try {
|
|
37255
|
-
const content =
|
|
37645
|
+
const content = fs2__default2.default.readFileSync(safelistPath, "utf-8");
|
|
37256
37646
|
return JSON.parse(content);
|
|
37257
37647
|
} catch {
|
|
37258
37648
|
return [];
|
|
@@ -37265,7 +37655,7 @@ Please build the native module.`
|
|
|
37265
37655
|
const files = scanDir(absDir);
|
|
37266
37656
|
for (const file of files) {
|
|
37267
37657
|
try {
|
|
37268
|
-
const source =
|
|
37658
|
+
const source = fs2__default2.default.readFileSync(file, "utf-8");
|
|
37269
37659
|
const classes = extractAllClasses2(source);
|
|
37270
37660
|
classes.forEach((c) => allClasses.add(c));
|
|
37271
37661
|
} catch {
|
|
@@ -37274,13 +37664,13 @@ Please build the native module.`
|
|
|
37274
37664
|
}
|
|
37275
37665
|
const sorted = Array.from(allClasses).sort();
|
|
37276
37666
|
const absOutput = path7__default.default.isAbsolute(outputPath) ? outputPath : path7__default.default.resolve(cwd2, outputPath);
|
|
37277
|
-
|
|
37667
|
+
fs2__default2.default.mkdirSync(path7__default.default.dirname(absOutput), { recursive: true });
|
|
37278
37668
|
const css = sorted.length > 0 ? `/* Auto-generated by tailwind-styled-v4 \u2014 DO NOT EDIT */
|
|
37279
37669
|
@source inline("${sorted.join(" ")}");
|
|
37280
37670
|
` : `/* Auto-generated by tailwind-styled-v4 \u2014 DO NOT EDIT */
|
|
37281
37671
|
/* No safelist classes found */
|
|
37282
37672
|
`;
|
|
37283
|
-
|
|
37673
|
+
fs2__default2.default.writeFileSync(absOutput, css);
|
|
37284
37674
|
console.log(`[tailwind-styled-v4] Safelist: ${sorted.length} classes \u2192 ${absOutput}`);
|
|
37285
37675
|
return sorted;
|
|
37286
37676
|
}
|
|
@@ -37388,13 +37778,13 @@ Please build the native module.`
|
|
|
37388
37778
|
}
|
|
37389
37779
|
}
|
|
37390
37780
|
if (outputDir) {
|
|
37391
|
-
const
|
|
37392
|
-
|
|
37781
|
+
const fs5 = __require2222("fs");
|
|
37782
|
+
fs5.mkdirSync(outputDir, { recursive: true });
|
|
37393
37783
|
for (const result of results) {
|
|
37394
37784
|
const filename = routeToFilename(result.route);
|
|
37395
37785
|
const filepath = path7__default.default.join(outputDir, filename);
|
|
37396
|
-
|
|
37397
|
-
|
|
37786
|
+
fs5.mkdirSync(path7__default.default.dirname(filepath), { recursive: true });
|
|
37787
|
+
fs5.writeFileSync(filepath, result.css);
|
|
37398
37788
|
}
|
|
37399
37789
|
const totalSize = results.reduce((sum, r) => sum + r.sizeBytes, 0);
|
|
37400
37790
|
console.log(
|