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/next.mjs
CHANGED
|
@@ -16231,21 +16231,23 @@ try {
|
|
|
16231
16231
|
var __toCommonJS = (mod) => __copyProps22(__defProp22({}, "__esModule", { value: true }), mod);
|
|
16232
16232
|
var require_compiler22 = __commonJS222({
|
|
16233
16233
|
"dist/compiler.js"(exports$122, module2) {
|
|
16234
|
-
var crypto = __require222("crypto");
|
|
16235
|
-
var fs322 = __require222("fs");
|
|
16236
16234
|
var module$122 = __require222("module");
|
|
16237
16235
|
var path7 = __require222("path");
|
|
16238
16236
|
var url222 = __require222("url");
|
|
16239
16237
|
var tailwindMerge = __require222("tailwind-merge");
|
|
16238
|
+
var fs22 = __require222("fs");
|
|
16239
|
+
var crypto = __require222("crypto");
|
|
16240
16240
|
var _documentCurrentScript22 = typeof document !== "undefined" ? document.currentScript : null;
|
|
16241
16241
|
function _interopDefault222(e) {
|
|
16242
16242
|
return e && e.__esModule ? e : { default: e };
|
|
16243
16243
|
}
|
|
16244
|
-
var fs3__default = /* @__PURE__ */ _interopDefault222(fs322);
|
|
16245
16244
|
var path7__default = /* @__PURE__ */ _interopDefault222(path7);
|
|
16245
|
+
var fs2__default2 = /* @__PURE__ */ _interopDefault222(fs22);
|
|
16246
|
+
var __create222 = Object.create;
|
|
16246
16247
|
var __defProp222 = Object.defineProperty;
|
|
16247
16248
|
var __getOwnPropDesc222 = Object.getOwnPropertyDescriptor;
|
|
16248
16249
|
var __getOwnPropNames2222 = Object.getOwnPropertyNames;
|
|
16250
|
+
var __getProtoOf222 = Object.getPrototypeOf;
|
|
16249
16251
|
var __hasOwnProp222 = Object.prototype.hasOwnProperty;
|
|
16250
16252
|
var __require2222 = /* @__PURE__ */ ((x) => typeof __require222 !== "undefined" ? __require222 : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
16251
16253
|
get: (a, b) => (typeof __require222 !== "undefined" ? __require222 : a)[b]
|
|
@@ -16256,6 +16258,9 @@ try {
|
|
|
16256
16258
|
var __esm2 = (fn, res) => function __init() {
|
|
16257
16259
|
return fn && (res = (0, fn[__getOwnPropNames2222(fn)[0]])(fn = 0)), res;
|
|
16258
16260
|
};
|
|
16261
|
+
var __commonJS2222 = (cb, mod) => function __require22222() {
|
|
16262
|
+
return mod || (0, cb[__getOwnPropNames2222(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
16263
|
+
};
|
|
16259
16264
|
var __export2 = (target, all) => {
|
|
16260
16265
|
for (var name in all)
|
|
16261
16266
|
__defProp222(target, name, { get: all[name], enumerable: true });
|
|
@@ -16268,48 +16273,438 @@ try {
|
|
|
16268
16273
|
}
|
|
16269
16274
|
return to;
|
|
16270
16275
|
};
|
|
16276
|
+
var __toESM222 = (mod, isNodeMode, target) => (target = mod != null ? __create222(__getProtoOf222(mod)) : {}, __copyProps222(
|
|
16277
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
16278
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
16279
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
16280
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
16281
|
+
__defProp222(target, "default", { value: mod, enumerable: true }),
|
|
16282
|
+
mod
|
|
16283
|
+
));
|
|
16271
16284
|
var __toCommonJS2 = (mod) => __copyProps222(__defProp222({}, "__esModule", { value: true }), mod);
|
|
16272
|
-
|
|
16273
|
-
|
|
16274
|
-
|
|
16275
|
-
|
|
16276
|
-
|
|
16277
|
-
|
|
16278
|
-
|
|
16279
|
-
|
|
16280
|
-
if (LEVELS[msgLevel] > LEVELS[currentLevel]) return;
|
|
16281
|
-
const line = `[${prefix}] ${args.map(String).join(" ")}
|
|
16282
|
-
`;
|
|
16283
|
-
process[stream].write(line);
|
|
16284
|
-
};
|
|
16285
|
-
return {
|
|
16286
|
-
error: (...a) => log222("error", "stderr", a),
|
|
16287
|
-
warn: (...a) => log222("warn", "stderr", a),
|
|
16288
|
-
info: (...a) => log222("info", "stdout", a),
|
|
16289
|
-
debug: (...a) => log222("debug", "stderr", a),
|
|
16290
|
-
setLevel: (l) => {
|
|
16291
|
-
currentLevel = l;
|
|
16285
|
+
var require_plugin2 = __commonJS2222({
|
|
16286
|
+
"dist/plugin.js"(exports$1222) {
|
|
16287
|
+
var TOKEN_ENGINE_KEY = "__TW_TOKEN_ENGINE__";
|
|
16288
|
+
function resolveTokenEngine() {
|
|
16289
|
+
if (typeof globalThis !== "undefined") {
|
|
16290
|
+
return globalThis[TOKEN_ENGINE_KEY];
|
|
16291
|
+
}
|
|
16292
|
+
return null;
|
|
16292
16293
|
}
|
|
16293
|
-
|
|
16294
|
-
|
|
16295
|
-
|
|
16296
|
-
|
|
16297
|
-
|
|
16298
|
-
|
|
16299
|
-
|
|
16300
|
-
|
|
16301
|
-
|
|
16302
|
-
|
|
16303
|
-
|
|
16304
|
-
|
|
16305
|
-
|
|
16306
|
-
|
|
16294
|
+
function readToken(engine, name) {
|
|
16295
|
+
if (!engine) return void 0;
|
|
16296
|
+
if (typeof engine.getToken === "function") return engine.getToken(name);
|
|
16297
|
+
if (typeof engine.getTokens === "function") {
|
|
16298
|
+
const tokens = engine.getTokens();
|
|
16299
|
+
return tokens?.[name];
|
|
16300
|
+
}
|
|
16301
|
+
return void 0;
|
|
16302
|
+
}
|
|
16303
|
+
function createTwPlugin(options = {}) {
|
|
16304
|
+
return {
|
|
16305
|
+
async resolveId(source, importer) {
|
|
16306
|
+
if (!source.startsWith("tw.") && !source.startsWith("tw:")) return null;
|
|
16307
|
+
const importPath = source.replace(/^tw[.:]/, "");
|
|
16308
|
+
const resolved = await this.resolve(importPath, importer, { skipSelf: true });
|
|
16309
|
+
if (resolved) return { id: resolved.id };
|
|
16310
|
+
return null;
|
|
16311
|
+
},
|
|
16312
|
+
async load(id) {
|
|
16313
|
+
return null;
|
|
16314
|
+
},
|
|
16315
|
+
async transform(code, id) {
|
|
16316
|
+
return null;
|
|
16317
|
+
},
|
|
16318
|
+
getToken(name) {
|
|
16319
|
+
const engine = resolveTokenEngine();
|
|
16320
|
+
return readToken(engine, name);
|
|
16321
|
+
},
|
|
16322
|
+
subscribeTokens(callback) {
|
|
16323
|
+
const engine = resolveTokenEngine();
|
|
16324
|
+
if (!engine) return () => {
|
|
16325
|
+
};
|
|
16326
|
+
if (typeof engine.subscribeTokens === "function") return engine.subscribeTokens(callback);
|
|
16327
|
+
if (typeof engine.subscribe === "function") return engine.subscribe(callback);
|
|
16328
|
+
return () => {
|
|
16329
|
+
};
|
|
16330
|
+
}
|
|
16331
|
+
};
|
|
16332
|
+
}
|
|
16333
|
+
var globalRegistry = {
|
|
16334
|
+
transforms: [],
|
|
16335
|
+
tokens: {}
|
|
16336
|
+
};
|
|
16337
|
+
function getGlobalRegistry2() {
|
|
16338
|
+
return globalRegistry;
|
|
16339
|
+
}
|
|
16340
|
+
function registerTransform(transform) {
|
|
16341
|
+
globalRegistry.transforms.push(transform);
|
|
16342
|
+
}
|
|
16343
|
+
function registerToken(name, value) {
|
|
16344
|
+
globalRegistry.tokens[name] = value;
|
|
16345
|
+
}
|
|
16346
|
+
function createRegistry() {
|
|
16347
|
+
return {
|
|
16348
|
+
variants: /* @__PURE__ */ new Map(),
|
|
16349
|
+
utilities: /* @__PURE__ */ new Map(),
|
|
16350
|
+
tokens: /* @__PURE__ */ new Map(),
|
|
16351
|
+
transforms: [],
|
|
16352
|
+
cssHooks: [],
|
|
16353
|
+
buildHooks: [],
|
|
16354
|
+
plugins: /* @__PURE__ */ new Set()
|
|
16355
|
+
};
|
|
16356
|
+
}
|
|
16357
|
+
var _globalRegistry = createRegistry();
|
|
16358
|
+
function resetGlobalRegistry() {
|
|
16359
|
+
_globalRegistry = createRegistry();
|
|
16360
|
+
}
|
|
16361
|
+
function createContext(registry, config = {}) {
|
|
16362
|
+
return {
|
|
16363
|
+
config,
|
|
16364
|
+
addVariant(name, resolver) {
|
|
16365
|
+
registry.variants.set(name, resolver);
|
|
16366
|
+
},
|
|
16367
|
+
addUtility(name, styles) {
|
|
16368
|
+
registry.utilities.set(name, styles);
|
|
16369
|
+
},
|
|
16370
|
+
addToken(name, value) {
|
|
16371
|
+
const normalized = name.replace(/[^a-zA-Z0-9-]/g, "-").toLowerCase();
|
|
16372
|
+
registry.tokens.set(normalized, value);
|
|
16373
|
+
},
|
|
16374
|
+
addTransform(fn) {
|
|
16375
|
+
registry.transforms.push(fn);
|
|
16376
|
+
},
|
|
16377
|
+
onGenerateCSS(hook) {
|
|
16378
|
+
registry.cssHooks.push(hook);
|
|
16379
|
+
},
|
|
16380
|
+
onBuildEnd(hook) {
|
|
16381
|
+
registry.buildHooks.push(hook);
|
|
16382
|
+
},
|
|
16383
|
+
getToken(name) {
|
|
16384
|
+
return readToken(resolveTokenEngine(), name);
|
|
16385
|
+
},
|
|
16386
|
+
subscribeTokens(callback) {
|
|
16387
|
+
const engine = resolveTokenEngine();
|
|
16388
|
+
if (!engine) return () => {
|
|
16389
|
+
};
|
|
16390
|
+
if (typeof engine.subscribeTokens === "function") return engine.subscribeTokens(callback);
|
|
16391
|
+
if (typeof engine.subscribe === "function") return engine.subscribe(callback);
|
|
16392
|
+
return () => {
|
|
16393
|
+
};
|
|
16394
|
+
}
|
|
16395
|
+
};
|
|
16396
|
+
}
|
|
16397
|
+
function createTw(config = {}) {
|
|
16398
|
+
const registry = createRegistry();
|
|
16399
|
+
const ctx = createContext(registry, config);
|
|
16400
|
+
const result = ctx;
|
|
16401
|
+
result.registry = {
|
|
16402
|
+
plugins: registry.plugins,
|
|
16403
|
+
variants: registry.variants,
|
|
16404
|
+
utilities: registry.utilities,
|
|
16405
|
+
tokens: registry.tokens
|
|
16406
|
+
};
|
|
16407
|
+
result.use = (plugin) => {
|
|
16408
|
+
plugin.setup(ctx);
|
|
16409
|
+
registry.plugins.add(plugin.name);
|
|
16410
|
+
};
|
|
16411
|
+
if (config.plugins && Array.isArray(config.plugins)) {
|
|
16412
|
+
for (const plugin of config.plugins) {
|
|
16413
|
+
if (plugin && plugin.name) {
|
|
16414
|
+
result.use(plugin);
|
|
16415
|
+
}
|
|
16416
|
+
}
|
|
16417
|
+
}
|
|
16418
|
+
return result;
|
|
16419
|
+
}
|
|
16420
|
+
function use(plugin) {
|
|
16421
|
+
const ctx = createContext(_globalRegistry);
|
|
16422
|
+
plugin.setup(ctx);
|
|
16423
|
+
}
|
|
16424
|
+
function presetTokens(tokens) {
|
|
16425
|
+
return {
|
|
16426
|
+
name: "preset-tokens",
|
|
16427
|
+
setup(ctx) {
|
|
16428
|
+
for (const [name, value] of Object.entries(tokens)) {
|
|
16429
|
+
ctx.addToken(name, value);
|
|
16430
|
+
}
|
|
16431
|
+
}
|
|
16432
|
+
};
|
|
16433
|
+
}
|
|
16434
|
+
function presetVariants(variants) {
|
|
16435
|
+
return {
|
|
16436
|
+
name: "preset-variants",
|
|
16437
|
+
setup(ctx) {
|
|
16438
|
+
for (const [name, resolver] of Object.entries(variants)) {
|
|
16439
|
+
ctx.addVariant(name, resolver);
|
|
16440
|
+
}
|
|
16441
|
+
}
|
|
16442
|
+
};
|
|
16443
|
+
}
|
|
16444
|
+
function presetScrollbar() {
|
|
16445
|
+
return {
|
|
16446
|
+
name: "preset-scrollbar",
|
|
16447
|
+
setup(ctx) {
|
|
16448
|
+
ctx.addVariant("scrollbar-thin", () => "::-webkit-scrollbar{width:8px;height:8px}");
|
|
16449
|
+
ctx.addVariant("scrollbar-none", () => "::-webkit-scrollbar{display:none}");
|
|
16450
|
+
ctx.addUtility("scrollbar-hide", { "-ms-overflow-style": "none", "scrollbar-width": "none" });
|
|
16451
|
+
}
|
|
16452
|
+
};
|
|
16453
|
+
}
|
|
16454
|
+
exports$1222.createTw = createTw;
|
|
16455
|
+
exports$1222.createTwPlugin = createTwPlugin;
|
|
16456
|
+
exports$1222.getGlobalRegistry = getGlobalRegistry2;
|
|
16457
|
+
exports$1222.presetScrollbar = presetScrollbar;
|
|
16458
|
+
exports$1222.presetTokens = presetTokens;
|
|
16459
|
+
exports$1222.presetVariants = presetVariants;
|
|
16460
|
+
exports$1222.registerToken = registerToken;
|
|
16461
|
+
exports$1222.registerTransform = registerTransform;
|
|
16462
|
+
exports$1222.resetGlobalRegistry = resetGlobalRegistry;
|
|
16463
|
+
exports$1222.use = use;
|
|
16307
16464
|
}
|
|
16308
16465
|
});
|
|
16309
|
-
var
|
|
16310
|
-
"
|
|
16311
|
-
|
|
16312
|
-
|
|
16466
|
+
var require_shared222 = __commonJS2222({
|
|
16467
|
+
"dist/shared.js"(exports$1222) {
|
|
16468
|
+
var fs5 = __require2222("fs");
|
|
16469
|
+
var module$1222 = __require2222("module");
|
|
16470
|
+
var os = __require2222("os");
|
|
16471
|
+
var path9 = __require2222("path");
|
|
16472
|
+
var url2222 = __require2222("url");
|
|
16473
|
+
var crypto2 = __require2222("crypto");
|
|
16474
|
+
function _interopDefault2222(e) {
|
|
16475
|
+
return e && e.__esModule ? e : { default: e };
|
|
16476
|
+
}
|
|
16477
|
+
var fs__default22 = /* @__PURE__ */ _interopDefault2222(fs5);
|
|
16478
|
+
var os__default = /* @__PURE__ */ _interopDefault2222(os);
|
|
16479
|
+
var path__default2 = /* @__PURE__ */ _interopDefault2222(path9);
|
|
16480
|
+
var LRUCache = class {
|
|
16481
|
+
constructor(max = 256, ttlMs = null) {
|
|
16482
|
+
this.map = /* @__PURE__ */ new Map();
|
|
16483
|
+
this.max = max;
|
|
16484
|
+
this.ttlMs = ttlMs;
|
|
16485
|
+
}
|
|
16486
|
+
get(key) {
|
|
16487
|
+
const entry = this.map.get(key);
|
|
16488
|
+
if (!entry) return void 0;
|
|
16489
|
+
if (this.ttlMs !== null && Date.now() - entry.ts > this.ttlMs) {
|
|
16490
|
+
this.map.delete(key);
|
|
16491
|
+
return void 0;
|
|
16492
|
+
}
|
|
16493
|
+
this.map.delete(key);
|
|
16494
|
+
this.map.set(key, entry);
|
|
16495
|
+
return entry.value;
|
|
16496
|
+
}
|
|
16497
|
+
set(key, value) {
|
|
16498
|
+
if (this.map.has(key)) this.map.delete(key);
|
|
16499
|
+
else if (this.map.size >= this.max) {
|
|
16500
|
+
this.map.delete(this.map.keys().next().value);
|
|
16501
|
+
}
|
|
16502
|
+
this.map.set(key, { value, ts: Date.now() });
|
|
16503
|
+
}
|
|
16504
|
+
has(key) {
|
|
16505
|
+
return this.get(key) !== void 0;
|
|
16506
|
+
}
|
|
16507
|
+
delete(key) {
|
|
16508
|
+
this.map.delete(key);
|
|
16509
|
+
}
|
|
16510
|
+
clear() {
|
|
16511
|
+
this.map.clear();
|
|
16512
|
+
}
|
|
16513
|
+
get size() {
|
|
16514
|
+
return this.map.size;
|
|
16515
|
+
}
|
|
16516
|
+
keys() {
|
|
16517
|
+
return this.map.keys();
|
|
16518
|
+
}
|
|
16519
|
+
*values() {
|
|
16520
|
+
for (const entry of this.map.values()) {
|
|
16521
|
+
yield entry.value;
|
|
16522
|
+
}
|
|
16523
|
+
}
|
|
16524
|
+
*entries() {
|
|
16525
|
+
for (const [key, entry] of this.map.entries()) {
|
|
16526
|
+
yield [key, entry.value];
|
|
16527
|
+
}
|
|
16528
|
+
}
|
|
16529
|
+
};
|
|
16530
|
+
function getPlatformExtension() {
|
|
16531
|
+
const platform = os__default.default.platform();
|
|
16532
|
+
switch (platform) {
|
|
16533
|
+
case "win32":
|
|
16534
|
+
return ".node";
|
|
16535
|
+
case "darwin":
|
|
16536
|
+
return ".dylib";
|
|
16537
|
+
case "linux":
|
|
16538
|
+
return ".so";
|
|
16539
|
+
default:
|
|
16540
|
+
return ".node";
|
|
16541
|
+
}
|
|
16542
|
+
}
|
|
16543
|
+
function formatErrorMessage2(error) {
|
|
16544
|
+
return error instanceof Error ? error.message : String(error);
|
|
16545
|
+
}
|
|
16546
|
+
function resolveRuntimeDir2(dirnameValue, moduleImportUrl) {
|
|
16547
|
+
if (typeof dirnameValue === "string" && dirnameValue.length > 0) return dirnameValue;
|
|
16548
|
+
return path__default2.default.dirname(url2222.fileURLToPath(moduleImportUrl));
|
|
16549
|
+
}
|
|
16550
|
+
function resolveNativeBindingCandidates2(options) {
|
|
16551
|
+
const out = [];
|
|
16552
|
+
const envVarNames = options.envVarNames ?? ["TWS_NATIVE_PATH"];
|
|
16553
|
+
for (const envVarName of envVarNames) {
|
|
16554
|
+
const raw = process.env[envVarName]?.trim();
|
|
16555
|
+
if (!raw) continue;
|
|
16556
|
+
const resolved = path__default2.default.resolve(raw);
|
|
16557
|
+
if (options.enforceNodeExtensionForEnvPath) {
|
|
16558
|
+
if (path__default2.default.extname(resolved).toLowerCase() !== ".node") {
|
|
16559
|
+
throw new Error(
|
|
16560
|
+
`Invalid native binding path from ${envVarName}="${raw}". Expected a .node file.`
|
|
16561
|
+
);
|
|
16562
|
+
}
|
|
16563
|
+
}
|
|
16564
|
+
out.push(resolved);
|
|
16565
|
+
}
|
|
16566
|
+
if (options.includeDefaultCandidates !== false) {
|
|
16567
|
+
const ext = options.platformExtension ?? getPlatformExtension();
|
|
16568
|
+
const defaultBindingName = `tailwind_styled_parser${ext}`;
|
|
16569
|
+
out.push(path__default2.default.resolve(process.cwd(), "native", defaultBindingName));
|
|
16570
|
+
out.push(path__default2.default.resolve(options.runtimeDir, "..", "..", "..", "native", defaultBindingName));
|
|
16571
|
+
}
|
|
16572
|
+
return Array.from(new Set(out));
|
|
16573
|
+
}
|
|
16574
|
+
function parseDebugToken(namespace, token) {
|
|
16575
|
+
if (token === "*" || token === namespace || token === "tailwind-styled:*") return true;
|
|
16576
|
+
return token.endsWith("*") && namespace.startsWith(token.slice(0, -1));
|
|
16577
|
+
}
|
|
16578
|
+
function isDebugNamespaceEnabled(namespace) {
|
|
16579
|
+
if (process.env.TWS_DEBUG === "1" || process.env.TAILWIND_STYLED_DEBUG === "1") return true;
|
|
16580
|
+
const raw = process.env.DEBUG;
|
|
16581
|
+
if (!raw) return false;
|
|
16582
|
+
return raw.split(",").map((token) => token.trim()).some((token) => parseDebugToken(namespace, token));
|
|
16583
|
+
}
|
|
16584
|
+
function createDebugLogger2(namespace, label = namespace) {
|
|
16585
|
+
const debugEnabled = isDebugNamespaceEnabled(namespace);
|
|
16586
|
+
return (message) => {
|
|
16587
|
+
if (!debugEnabled) return;
|
|
16588
|
+
console.debug(`[${label}] ${message}`);
|
|
16589
|
+
};
|
|
16590
|
+
}
|
|
16591
|
+
function loadNativeBinding2(options) {
|
|
16592
|
+
const req = module$1222.createRequire(path__default2.default.join(options.runtimeDir, "noop.cjs"));
|
|
16593
|
+
const loadErrors2 = [];
|
|
16594
|
+
for (const candidate of options.candidates) {
|
|
16595
|
+
if (!fs__default22.default.existsSync(candidate)) continue;
|
|
16596
|
+
try {
|
|
16597
|
+
const mod = req(candidate);
|
|
16598
|
+
if (options.isValid(mod)) {
|
|
16599
|
+
return {
|
|
16600
|
+
binding: mod,
|
|
16601
|
+
loadedPath: candidate,
|
|
16602
|
+
loadErrors: loadErrors2
|
|
16603
|
+
};
|
|
16604
|
+
}
|
|
16605
|
+
loadErrors2.push({
|
|
16606
|
+
path: candidate,
|
|
16607
|
+
message: options.invalidExportMessage
|
|
16608
|
+
});
|
|
16609
|
+
} catch (error) {
|
|
16610
|
+
loadErrors2.push({
|
|
16611
|
+
path: candidate,
|
|
16612
|
+
message: formatErrorMessage2(error)
|
|
16613
|
+
});
|
|
16614
|
+
}
|
|
16615
|
+
}
|
|
16616
|
+
return {
|
|
16617
|
+
binding: null,
|
|
16618
|
+
loadedPath: null,
|
|
16619
|
+
loadErrors: loadErrors2
|
|
16620
|
+
};
|
|
16621
|
+
}
|
|
16622
|
+
var LEVELS = { silent: 0, error: 1, warn: 2, info: 3, debug: 4 };
|
|
16623
|
+
function getEnvLevel() {
|
|
16624
|
+
const env = process.env.TWS_LOG_LEVEL?.toLowerCase();
|
|
16625
|
+
if (env && env in LEVELS) return env;
|
|
16626
|
+
return process.env.TWS_DEBUG_SCANNER === "1" ? "debug" : "info";
|
|
16627
|
+
}
|
|
16628
|
+
function createLogger22(prefix, level) {
|
|
16629
|
+
let currentLevel = level ?? getEnvLevel();
|
|
16630
|
+
const log222 = (msgLevel, stream, args) => {
|
|
16631
|
+
if (LEVELS[msgLevel] > LEVELS[currentLevel]) return;
|
|
16632
|
+
const line = `[${prefix}] ${args.map(String).join(" ")}
|
|
16633
|
+
`;
|
|
16634
|
+
process[stream].write(line);
|
|
16635
|
+
};
|
|
16636
|
+
return {
|
|
16637
|
+
error: (...a) => log222("error", "stderr", a),
|
|
16638
|
+
warn: (...a) => log222("warn", "stderr", a),
|
|
16639
|
+
info: (...a) => log222("info", "stdout", a),
|
|
16640
|
+
debug: (...a) => log222("debug", "stderr", a),
|
|
16641
|
+
setLevel: (l) => {
|
|
16642
|
+
currentLevel = l;
|
|
16643
|
+
}
|
|
16644
|
+
};
|
|
16645
|
+
}
|
|
16646
|
+
var logger = createLogger22("tailwind-styled");
|
|
16647
|
+
function hashContent2(content, algorithm = "md5", length = 8) {
|
|
16648
|
+
return crypto2.createHash(algorithm).update(content).digest("hex").slice(0, length);
|
|
16649
|
+
}
|
|
16650
|
+
function hashFile(filePath, algorithm = "md5", length = 8) {
|
|
16651
|
+
try {
|
|
16652
|
+
const content = fs__default22.default.readFileSync(filePath, "utf8");
|
|
16653
|
+
return hashContent2(content, algorithm, length);
|
|
16654
|
+
} catch {
|
|
16655
|
+
return "00000000";
|
|
16656
|
+
}
|
|
16657
|
+
}
|
|
16658
|
+
function debounce(fn, ms) {
|
|
16659
|
+
let timer = null;
|
|
16660
|
+
return ((...args) => {
|
|
16661
|
+
if (timer) clearTimeout(timer);
|
|
16662
|
+
timer = setTimeout(() => {
|
|
16663
|
+
timer = null;
|
|
16664
|
+
fn(...args);
|
|
16665
|
+
}, ms);
|
|
16666
|
+
});
|
|
16667
|
+
}
|
|
16668
|
+
function throttle(fn, ms) {
|
|
16669
|
+
let last = 0;
|
|
16670
|
+
return ((...args) => {
|
|
16671
|
+
const now = Date.now();
|
|
16672
|
+
if (now - last >= ms) {
|
|
16673
|
+
last = now;
|
|
16674
|
+
fn(...args);
|
|
16675
|
+
}
|
|
16676
|
+
});
|
|
16677
|
+
}
|
|
16678
|
+
function parseVersion(v) {
|
|
16679
|
+
const parts = v.replace(/^v/, "").split(".").map((p) => {
|
|
16680
|
+
const n = Number(p);
|
|
16681
|
+
return Number.isNaN(n) ? 0 : n;
|
|
16682
|
+
});
|
|
16683
|
+
const [major = 0, minor = 0, patch = 0] = parts;
|
|
16684
|
+
return { major, minor, patch };
|
|
16685
|
+
}
|
|
16686
|
+
function satisfiesMinVersion(version, minVersion) {
|
|
16687
|
+
const v = parseVersion(version);
|
|
16688
|
+
const min = parseVersion(minVersion);
|
|
16689
|
+
if (v.major !== min.major) return v.major > min.major;
|
|
16690
|
+
if (v.minor !== min.minor) return v.minor > min.minor;
|
|
16691
|
+
return v.patch >= min.patch;
|
|
16692
|
+
}
|
|
16693
|
+
exports$1222.LRUCache = LRUCache;
|
|
16694
|
+
exports$1222.createDebugLogger = createDebugLogger2;
|
|
16695
|
+
exports$1222.createLogger = createLogger22;
|
|
16696
|
+
exports$1222.debounce = debounce;
|
|
16697
|
+
exports$1222.formatErrorMessage = formatErrorMessage2;
|
|
16698
|
+
exports$1222.hashContent = hashContent2;
|
|
16699
|
+
exports$1222.hashFile = hashFile;
|
|
16700
|
+
exports$1222.isDebugNamespaceEnabled = isDebugNamespaceEnabled;
|
|
16701
|
+
exports$1222.loadNativeBinding = loadNativeBinding2;
|
|
16702
|
+
exports$1222.logger = logger;
|
|
16703
|
+
exports$1222.parseVersion = parseVersion;
|
|
16704
|
+
exports$1222.resolveNativeBindingCandidates = resolveNativeBindingCandidates2;
|
|
16705
|
+
exports$1222.resolveRuntimeDir = resolveRuntimeDir2;
|
|
16706
|
+
exports$1222.satisfiesMinVersion = satisfiesMinVersion;
|
|
16707
|
+
exports$1222.throttle = throttle;
|
|
16313
16708
|
}
|
|
16314
16709
|
});
|
|
16315
16710
|
var nativeBridge_exports = {};
|
|
@@ -16412,6 +16807,7 @@ Or install a prebuilt binary for your platform.`
|
|
|
16412
16807
|
metadata
|
|
16413
16808
|
};
|
|
16414
16809
|
}
|
|
16810
|
+
var import_shared222;
|
|
16415
16811
|
var getDirname22;
|
|
16416
16812
|
var runtimeDir;
|
|
16417
16813
|
var requireFromRuntime;
|
|
@@ -16419,7 +16815,7 @@ Or install a prebuilt binary for your platform.`
|
|
|
16419
16815
|
var log22;
|
|
16420
16816
|
var init_nativeBridge = __esm2({
|
|
16421
16817
|
"packages/compiler/src/nativeBridge.ts"() {
|
|
16422
|
-
|
|
16818
|
+
import_shared222 = __toESM222(require_shared222());
|
|
16423
16819
|
getDirname22 = () => {
|
|
16424
16820
|
if (typeof __dirname !== "undefined") {
|
|
16425
16821
|
return __dirname;
|
|
@@ -16431,7 +16827,7 @@ Or install a prebuilt binary for your platform.`
|
|
|
16431
16827
|
};
|
|
16432
16828
|
runtimeDir = getDirname22();
|
|
16433
16829
|
requireFromRuntime = typeof module2 !== "undefined" && typeof module2.require === "function" ? module2.require.bind(module2) : module$122.createRequire(path7__default.default.join(runtimeDir, "noop.cjs"));
|
|
16434
|
-
log22 =
|
|
16830
|
+
log22 = (0, import_shared222.createLogger)("compiler:native");
|
|
16435
16831
|
}
|
|
16436
16832
|
});
|
|
16437
16833
|
function requireNative() {
|
|
@@ -18156,13 +18552,7 @@ body {
|
|
|
18156
18552
|
`;
|
|
18157
18553
|
}
|
|
18158
18554
|
});
|
|
18159
|
-
var
|
|
18160
|
-
transforms: [],
|
|
18161
|
-
tokens: {}
|
|
18162
|
-
};
|
|
18163
|
-
function getGlobalRegistry() {
|
|
18164
|
-
return globalRegistry;
|
|
18165
|
-
}
|
|
18555
|
+
var import_plugin = __toESM222(require_plugin2());
|
|
18166
18556
|
function mergeClassesStatic2(classes) {
|
|
18167
18557
|
return tailwindMerge.twMerge(classes);
|
|
18168
18558
|
}
|
|
@@ -18901,7 +19291,7 @@ ${subAssignments}
|
|
|
18901
19291
|
compoundVariants: compounds,
|
|
18902
19292
|
defaultVariants: defaults
|
|
18903
19293
|
};
|
|
18904
|
-
const registry = getGlobalRegistry();
|
|
19294
|
+
const registry = (0, import_plugin.getGlobalRegistry)();
|
|
18905
19295
|
if (registry.transforms.length > 0) {
|
|
18906
19296
|
const componentName = `Tw${tag}`;
|
|
18907
19297
|
for (const transform of registry.transforms) {
|
|
@@ -19081,8 +19471,8 @@ Please ensure the native module is properly built.`
|
|
|
19081
19471
|
function scanFiles(dir) {
|
|
19082
19472
|
const files = [];
|
|
19083
19473
|
function walk(current) {
|
|
19084
|
-
if (!
|
|
19085
|
-
const entries =
|
|
19474
|
+
if (!fs2__default2.default.existsSync(current)) return;
|
|
19475
|
+
const entries = fs2__default2.default.readdirSync(current, { withFileTypes: true });
|
|
19086
19476
|
for (const entry of entries) {
|
|
19087
19477
|
if (SKIP_DIRS.has(entry.name)) continue;
|
|
19088
19478
|
const fullPath = path7__default.default.join(current, entry.name);
|
|
@@ -19103,7 +19493,7 @@ Please ensure the native module is properly built.`
|
|
|
19103
19493
|
const files = scanFiles(absDir);
|
|
19104
19494
|
for (const file of files) {
|
|
19105
19495
|
try {
|
|
19106
|
-
const source =
|
|
19496
|
+
const source = fs2__default2.default.readFileSync(file, "utf-8");
|
|
19107
19497
|
const usage = extractComponentUsage(source);
|
|
19108
19498
|
for (const [comp, props] of Object.entries(usage)) {
|
|
19109
19499
|
if (!combined[comp]) combined[comp] = {};
|
|
@@ -19242,19 +19632,19 @@ Please ensure the native module is properly built.`
|
|
|
19242
19632
|
}
|
|
19243
19633
|
return { css, report };
|
|
19244
19634
|
}
|
|
19245
|
-
|
|
19635
|
+
var import_shared2222 = __toESM222(require_shared222());
|
|
19246
19636
|
var CACHE_DIR = ".tw-cache";
|
|
19247
19637
|
var HASH_CACHE_FILE = path7__default.default.join(CACHE_DIR, "file-hashes.json");
|
|
19248
19638
|
var GRAPH_CACHE_FILE = path7__default.default.join(CACHE_DIR, "dep-graph.json");
|
|
19249
19639
|
function ensureCacheDir() {
|
|
19250
|
-
if (!
|
|
19251
|
-
|
|
19640
|
+
if (!fs2__default2.default.existsSync(CACHE_DIR)) {
|
|
19641
|
+
fs2__default2.default.mkdirSync(CACHE_DIR, { recursive: true });
|
|
19252
19642
|
}
|
|
19253
19643
|
}
|
|
19254
19644
|
function loadHashCache() {
|
|
19255
19645
|
try {
|
|
19256
|
-
if (
|
|
19257
|
-
const raw =
|
|
19646
|
+
if (fs2__default2.default.existsSync(HASH_CACHE_FILE)) {
|
|
19647
|
+
const raw = fs2__default2.default.readFileSync(HASH_CACHE_FILE, "utf-8");
|
|
19258
19648
|
return new Map(Object.entries(JSON.parse(raw)));
|
|
19259
19649
|
}
|
|
19260
19650
|
} catch {
|
|
@@ -19265,14 +19655,14 @@ Please ensure the native module is properly built.`
|
|
|
19265
19655
|
try {
|
|
19266
19656
|
ensureCacheDir();
|
|
19267
19657
|
const obj = Object.fromEntries(cache);
|
|
19268
|
-
|
|
19658
|
+
fs2__default2.default.writeFileSync(HASH_CACHE_FILE, JSON.stringify(obj, null, 2));
|
|
19269
19659
|
} catch {
|
|
19270
19660
|
}
|
|
19271
19661
|
}
|
|
19272
19662
|
function loadGraphCache() {
|
|
19273
19663
|
try {
|
|
19274
|
-
if (
|
|
19275
|
-
const raw =
|
|
19664
|
+
if (fs2__default2.default.existsSync(GRAPH_CACHE_FILE)) {
|
|
19665
|
+
const raw = fs2__default2.default.readFileSync(GRAPH_CACHE_FILE, "utf-8");
|
|
19276
19666
|
const data = JSON.parse(raw);
|
|
19277
19667
|
return new Map(Object.entries(data));
|
|
19278
19668
|
}
|
|
@@ -19284,7 +19674,7 @@ Please ensure the native module is properly built.`
|
|
|
19284
19674
|
try {
|
|
19285
19675
|
ensureCacheDir();
|
|
19286
19676
|
const obj = Object.fromEntries(graph);
|
|
19287
|
-
|
|
19677
|
+
fs2__default2.default.writeFileSync(GRAPH_CACHE_FILE, JSON.stringify(obj, null, 2));
|
|
19288
19678
|
} catch {
|
|
19289
19679
|
}
|
|
19290
19680
|
}
|
|
@@ -19307,7 +19697,7 @@ Please ensure the native module is properly built.`
|
|
|
19307
19697
|
return result;
|
|
19308
19698
|
}
|
|
19309
19699
|
function hashFileContent(content) {
|
|
19310
|
-
return hashContent(content, "md5", 8);
|
|
19700
|
+
return (0, import_shared2222.hashContent)(content, "md5", 8);
|
|
19311
19701
|
}
|
|
19312
19702
|
function makeAtomicClass(declaration, modifier) {
|
|
19313
19703
|
const key = modifier ? `${declaration}::${modifier}` : declaration;
|
|
@@ -19389,8 +19779,8 @@ Please ensure the native module is properly built.`
|
|
|
19389
19779
|
}
|
|
19390
19780
|
loadFromDisk() {
|
|
19391
19781
|
try {
|
|
19392
|
-
if (
|
|
19393
|
-
const css =
|
|
19782
|
+
if (fs2__default2.default.existsSync(this.outputPath)) {
|
|
19783
|
+
const css = fs2__default2.default.readFileSync(this.outputPath, "utf-8");
|
|
19394
19784
|
const ruleRe = /(\.tw-[a-z0-9]+(?::[\w-]+)?)\{([^}]+)\}|(@[^{]+)\{(\.tw-[a-z0-9]+)\{([^}]+)\}\}/g;
|
|
19395
19785
|
let m;
|
|
19396
19786
|
while ((m = ruleRe.exec(css)) !== null) {
|
|
@@ -19420,7 +19810,7 @@ Please ensure the native module is properly built.`
|
|
|
19420
19810
|
try {
|
|
19421
19811
|
ensureCacheDir();
|
|
19422
19812
|
const css = Array.from(this.ruleMap.values()).join("\n");
|
|
19423
|
-
await
|
|
19813
|
+
await fs2__default2.default.promises.writeFile(this.outputPath, css, "utf-8");
|
|
19424
19814
|
this.dirty = false;
|
|
19425
19815
|
} catch {
|
|
19426
19816
|
}
|
|
@@ -19431,7 +19821,7 @@ Please ensure the native module is properly built.`
|
|
|
19431
19821
|
try {
|
|
19432
19822
|
ensureCacheDir();
|
|
19433
19823
|
const css = Array.from(this.ruleMap.values()).join("\n");
|
|
19434
|
-
|
|
19824
|
+
fs2__default2.default.writeFileSync(this.outputPath, css, "utf-8");
|
|
19435
19825
|
this.dirty = false;
|
|
19436
19826
|
} catch {
|
|
19437
19827
|
}
|
|
@@ -20388,7 +20778,7 @@ The native binding is required for all transformations.`
|
|
|
20388
20778
|
_cachedCwd = cwd;
|
|
20389
20779
|
for (const file of CONFIG_FILES) {
|
|
20390
20780
|
const fullPath = path7__default.default.join(cwd, file);
|
|
20391
|
-
if (
|
|
20781
|
+
if (fs2__default2.default.existsSync(fullPath)) {
|
|
20392
20782
|
try {
|
|
20393
20783
|
const mod = __require2222(fullPath);
|
|
20394
20784
|
const config = mod.default ?? mod;
|
|
@@ -20416,14 +20806,14 @@ The native binding is required for all transformations.`
|
|
|
20416
20806
|
if (config.content?.files) {
|
|
20417
20807
|
return config.content.files.filter((f) => typeof f === "string");
|
|
20418
20808
|
}
|
|
20419
|
-
return ["src", "app", "pages", "components"].filter((d) =>
|
|
20809
|
+
return ["src", "app", "pages", "components"].filter((d) => fs2__default2.default.existsSync(path7__default.default.join(cwd, d))).map((d) => `./${d}/**/*.{tsx,ts,jsx,js}`);
|
|
20420
20810
|
}
|
|
20421
20811
|
function invalidateConfigCache() {
|
|
20422
20812
|
_cachedConfig = null;
|
|
20423
20813
|
_cachedCwd = "";
|
|
20424
20814
|
}
|
|
20425
20815
|
function isZeroConfig(cwd = process.cwd()) {
|
|
20426
|
-
return !CONFIG_FILES.some((f) =>
|
|
20816
|
+
return !CONFIG_FILES.some((f) => fs2__default2.default.existsSync(path7__default.default.join(cwd, f)));
|
|
20427
20817
|
}
|
|
20428
20818
|
function bootstrapZeroConfig(cwd = process.cwd()) {
|
|
20429
20819
|
let generatedConfig = false;
|
|
@@ -20435,13 +20825,13 @@ The native binding is required for all transformations.`
|
|
|
20435
20825
|
"src/index.css",
|
|
20436
20826
|
"src/styles/globals.css"
|
|
20437
20827
|
];
|
|
20438
|
-
const hasGlobalCss = cssPaths.some((p) =>
|
|
20828
|
+
const hasGlobalCss = cssPaths.some((p) => fs2__default2.default.existsSync(path7__default.default.join(cwd, p)));
|
|
20439
20829
|
if (!hasGlobalCss) {
|
|
20440
20830
|
const { defaultGlobalCss: defaultGlobalCss2 } = (init_defaultPreset(), __toCommonJS2(defaultPreset_exports));
|
|
20441
|
-
const appDir =
|
|
20831
|
+
const appDir = fs2__default2.default.existsSync(path7__default.default.join(cwd, "src/app")) ? "src/app" : fs2__default2.default.existsSync(path7__default.default.join(cwd, "app")) ? "app" : "src";
|
|
20442
20832
|
const cssPath = path7__default.default.join(cwd, appDir, "globals.css");
|
|
20443
|
-
if (
|
|
20444
|
-
|
|
20833
|
+
if (fs2__default2.default.existsSync(path7__default.default.dirname(cssPath))) {
|
|
20834
|
+
fs2__default2.default.writeFileSync(cssPath, defaultGlobalCss2);
|
|
20445
20835
|
generatedCss = true;
|
|
20446
20836
|
console.log(`[tailwind-styled-v4] Generated ${cssPath}`);
|
|
20447
20837
|
}
|
|
@@ -20514,8 +20904,8 @@ Please build the native module.`
|
|
|
20514
20904
|
}
|
|
20515
20905
|
var SCAN_EXTENSIONS2 = [".tsx", ".ts", ".jsx", ".js"];
|
|
20516
20906
|
function scanDir(dir, files = []) {
|
|
20517
|
-
if (!
|
|
20518
|
-
const entries =
|
|
20907
|
+
if (!fs2__default2.default.existsSync(dir)) return files;
|
|
20908
|
+
const entries = fs2__default2.default.readdirSync(dir, { withFileTypes: true });
|
|
20519
20909
|
for (const entry of entries) {
|
|
20520
20910
|
if (entry.name === "node_modules" || entry.name === ".next" || entry.name === "dist") continue;
|
|
20521
20911
|
const fullPath = path7__default.default.join(dir, entry.name);
|
|
@@ -20534,7 +20924,7 @@ Please build the native module.`
|
|
|
20534
20924
|
const files = scanDir(absDir);
|
|
20535
20925
|
for (const file of files) {
|
|
20536
20926
|
try {
|
|
20537
|
-
const source =
|
|
20927
|
+
const source = fs2__default2.default.readFileSync(file, "utf-8");
|
|
20538
20928
|
const classes = extractAllClasses2(source);
|
|
20539
20929
|
classes.forEach((c) => allClasses.add(c));
|
|
20540
20930
|
} catch {
|
|
@@ -20543,13 +20933,13 @@ Please build the native module.`
|
|
|
20543
20933
|
}
|
|
20544
20934
|
const sorted = Array.from(allClasses).sort();
|
|
20545
20935
|
const absOutput = path7__default.default.isAbsolute(outputPath) ? outputPath : path7__default.default.resolve(cwd, outputPath);
|
|
20546
|
-
|
|
20936
|
+
fs2__default2.default.writeFileSync(absOutput, JSON.stringify(sorted, null, 2));
|
|
20547
20937
|
console.log(`[tailwind-styled-v4] Safelist: ${sorted.length} classes \u2192 ${absOutput}`);
|
|
20548
20938
|
return sorted;
|
|
20549
20939
|
}
|
|
20550
20940
|
function loadSafelist(safelistPath) {
|
|
20551
20941
|
try {
|
|
20552
|
-
const content =
|
|
20942
|
+
const content = fs2__default2.default.readFileSync(safelistPath, "utf-8");
|
|
20553
20943
|
return JSON.parse(content);
|
|
20554
20944
|
} catch {
|
|
20555
20945
|
return [];
|
|
@@ -20562,7 +20952,7 @@ Please build the native module.`
|
|
|
20562
20952
|
const files = scanDir(absDir);
|
|
20563
20953
|
for (const file of files) {
|
|
20564
20954
|
try {
|
|
20565
|
-
const source =
|
|
20955
|
+
const source = fs2__default2.default.readFileSync(file, "utf-8");
|
|
20566
20956
|
const classes = extractAllClasses2(source);
|
|
20567
20957
|
classes.forEach((c) => allClasses.add(c));
|
|
20568
20958
|
} catch {
|
|
@@ -20571,13 +20961,13 @@ Please build the native module.`
|
|
|
20571
20961
|
}
|
|
20572
20962
|
const sorted = Array.from(allClasses).sort();
|
|
20573
20963
|
const absOutput = path7__default.default.isAbsolute(outputPath) ? outputPath : path7__default.default.resolve(cwd, outputPath);
|
|
20574
|
-
|
|
20964
|
+
fs2__default2.default.mkdirSync(path7__default.default.dirname(absOutput), { recursive: true });
|
|
20575
20965
|
const css = sorted.length > 0 ? `/* Auto-generated by tailwind-styled-v4 \u2014 DO NOT EDIT */
|
|
20576
20966
|
@source inline("${sorted.join(" ")}");
|
|
20577
20967
|
` : `/* Auto-generated by tailwind-styled-v4 \u2014 DO NOT EDIT */
|
|
20578
20968
|
/* No safelist classes found */
|
|
20579
20969
|
`;
|
|
20580
|
-
|
|
20970
|
+
fs2__default2.default.writeFileSync(absOutput, css);
|
|
20581
20971
|
console.log(`[tailwind-styled-v4] Safelist: ${sorted.length} classes \u2192 ${absOutput}`);
|
|
20582
20972
|
return sorted;
|
|
20583
20973
|
}
|
|
@@ -20685,13 +21075,13 @@ Please build the native module.`
|
|
|
20685
21075
|
}
|
|
20686
21076
|
}
|
|
20687
21077
|
if (outputDir) {
|
|
20688
|
-
const
|
|
20689
|
-
|
|
21078
|
+
const fs5 = __require2222("fs");
|
|
21079
|
+
fs5.mkdirSync(outputDir, { recursive: true });
|
|
20690
21080
|
for (const result of results) {
|
|
20691
21081
|
const filename = routeToFilename(result.route);
|
|
20692
21082
|
const filepath = path7__default.default.join(outputDir, filename);
|
|
20693
|
-
|
|
20694
|
-
|
|
21083
|
+
fs5.mkdirSync(path7__default.default.dirname(filepath), { recursive: true });
|
|
21084
|
+
fs5.writeFileSync(filepath, result.css);
|
|
20695
21085
|
}
|
|
20696
21086
|
const totalSize = results.reduce((sum, r) => sum + r.sizeBytes, 0);
|
|
20697
21087
|
console.log(
|