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.js
CHANGED
|
@@ -16239,21 +16239,23 @@ try {
|
|
|
16239
16239
|
var __toCommonJS = (mod) => __copyProps22(__defProp22({}, "__esModule", { value: true }), mod);
|
|
16240
16240
|
var require_compiler22 = __commonJS222({
|
|
16241
16241
|
"dist/compiler.js"(exports$122, module2) {
|
|
16242
|
-
var crypto = __require222("crypto");
|
|
16243
|
-
var fs322 = __require222("fs");
|
|
16244
16242
|
var module$122 = __require222("module");
|
|
16245
16243
|
var path7 = __require222("path");
|
|
16246
16244
|
var url222 = __require222("url");
|
|
16247
16245
|
var tailwindMerge = __require222("tailwind-merge");
|
|
16246
|
+
var fs22 = __require222("fs");
|
|
16247
|
+
var crypto = __require222("crypto");
|
|
16248
16248
|
var _documentCurrentScript22 = typeof document !== "undefined" ? document.currentScript : null;
|
|
16249
16249
|
function _interopDefault222(e) {
|
|
16250
16250
|
return e && e.__esModule ? e : { default: e };
|
|
16251
16251
|
}
|
|
16252
|
-
var fs3__default = /* @__PURE__ */ _interopDefault222(fs322);
|
|
16253
16252
|
var path7__default = /* @__PURE__ */ _interopDefault222(path7);
|
|
16253
|
+
var fs2__default2 = /* @__PURE__ */ _interopDefault222(fs22);
|
|
16254
|
+
var __create222 = Object.create;
|
|
16254
16255
|
var __defProp222 = Object.defineProperty;
|
|
16255
16256
|
var __getOwnPropDesc222 = Object.getOwnPropertyDescriptor;
|
|
16256
16257
|
var __getOwnPropNames2222 = Object.getOwnPropertyNames;
|
|
16258
|
+
var __getProtoOf222 = Object.getPrototypeOf;
|
|
16257
16259
|
var __hasOwnProp222 = Object.prototype.hasOwnProperty;
|
|
16258
16260
|
var __require2222 = /* @__PURE__ */ ((x) => typeof __require222 !== "undefined" ? __require222 : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
16259
16261
|
get: (a, b) => (typeof __require222 !== "undefined" ? __require222 : a)[b]
|
|
@@ -16264,6 +16266,9 @@ try {
|
|
|
16264
16266
|
var __esm2 = (fn, res) => function __init() {
|
|
16265
16267
|
return fn && (res = (0, fn[__getOwnPropNames2222(fn)[0]])(fn = 0)), res;
|
|
16266
16268
|
};
|
|
16269
|
+
var __commonJS2222 = (cb, mod) => function __require22222() {
|
|
16270
|
+
return mod || (0, cb[__getOwnPropNames2222(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
16271
|
+
};
|
|
16267
16272
|
var __export2 = (target, all) => {
|
|
16268
16273
|
for (var name in all)
|
|
16269
16274
|
__defProp222(target, name, { get: all[name], enumerable: true });
|
|
@@ -16276,48 +16281,438 @@ try {
|
|
|
16276
16281
|
}
|
|
16277
16282
|
return to;
|
|
16278
16283
|
};
|
|
16284
|
+
var __toESM222 = (mod, isNodeMode, target) => (target = mod != null ? __create222(__getProtoOf222(mod)) : {}, __copyProps222(
|
|
16285
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
16286
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
16287
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
16288
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
16289
|
+
__defProp222(target, "default", { value: mod, enumerable: true }),
|
|
16290
|
+
mod
|
|
16291
|
+
));
|
|
16279
16292
|
var __toCommonJS2 = (mod) => __copyProps222(__defProp222({}, "__esModule", { value: true }), mod);
|
|
16280
|
-
|
|
16281
|
-
|
|
16282
|
-
|
|
16283
|
-
|
|
16284
|
-
|
|
16285
|
-
|
|
16286
|
-
|
|
16287
|
-
|
|
16288
|
-
if (LEVELS[msgLevel] > LEVELS[currentLevel]) return;
|
|
16289
|
-
const line = `[${prefix}] ${args.map(String).join(" ")}
|
|
16290
|
-
`;
|
|
16291
|
-
process[stream].write(line);
|
|
16292
|
-
};
|
|
16293
|
-
return {
|
|
16294
|
-
error: (...a) => log222("error", "stderr", a),
|
|
16295
|
-
warn: (...a) => log222("warn", "stderr", a),
|
|
16296
|
-
info: (...a) => log222("info", "stdout", a),
|
|
16297
|
-
debug: (...a) => log222("debug", "stderr", a),
|
|
16298
|
-
setLevel: (l) => {
|
|
16299
|
-
currentLevel = l;
|
|
16293
|
+
var require_plugin2 = __commonJS2222({
|
|
16294
|
+
"dist/plugin.js"(exports$1222) {
|
|
16295
|
+
var TOKEN_ENGINE_KEY = "__TW_TOKEN_ENGINE__";
|
|
16296
|
+
function resolveTokenEngine() {
|
|
16297
|
+
if (typeof globalThis !== "undefined") {
|
|
16298
|
+
return globalThis[TOKEN_ENGINE_KEY];
|
|
16299
|
+
}
|
|
16300
|
+
return null;
|
|
16300
16301
|
}
|
|
16301
|
-
|
|
16302
|
-
|
|
16303
|
-
|
|
16304
|
-
|
|
16305
|
-
|
|
16306
|
-
|
|
16307
|
-
|
|
16308
|
-
|
|
16309
|
-
|
|
16310
|
-
|
|
16311
|
-
|
|
16312
|
-
|
|
16313
|
-
|
|
16314
|
-
|
|
16302
|
+
function readToken(engine, name) {
|
|
16303
|
+
if (!engine) return void 0;
|
|
16304
|
+
if (typeof engine.getToken === "function") return engine.getToken(name);
|
|
16305
|
+
if (typeof engine.getTokens === "function") {
|
|
16306
|
+
const tokens = engine.getTokens();
|
|
16307
|
+
return tokens?.[name];
|
|
16308
|
+
}
|
|
16309
|
+
return void 0;
|
|
16310
|
+
}
|
|
16311
|
+
function createTwPlugin(options = {}) {
|
|
16312
|
+
return {
|
|
16313
|
+
async resolveId(source, importer) {
|
|
16314
|
+
if (!source.startsWith("tw.") && !source.startsWith("tw:")) return null;
|
|
16315
|
+
const importPath = source.replace(/^tw[.:]/, "");
|
|
16316
|
+
const resolved = await this.resolve(importPath, importer, { skipSelf: true });
|
|
16317
|
+
if (resolved) return { id: resolved.id };
|
|
16318
|
+
return null;
|
|
16319
|
+
},
|
|
16320
|
+
async load(id) {
|
|
16321
|
+
return null;
|
|
16322
|
+
},
|
|
16323
|
+
async transform(code, id) {
|
|
16324
|
+
return null;
|
|
16325
|
+
},
|
|
16326
|
+
getToken(name) {
|
|
16327
|
+
const engine = resolveTokenEngine();
|
|
16328
|
+
return readToken(engine, name);
|
|
16329
|
+
},
|
|
16330
|
+
subscribeTokens(callback) {
|
|
16331
|
+
const engine = resolveTokenEngine();
|
|
16332
|
+
if (!engine) return () => {
|
|
16333
|
+
};
|
|
16334
|
+
if (typeof engine.subscribeTokens === "function") return engine.subscribeTokens(callback);
|
|
16335
|
+
if (typeof engine.subscribe === "function") return engine.subscribe(callback);
|
|
16336
|
+
return () => {
|
|
16337
|
+
};
|
|
16338
|
+
}
|
|
16339
|
+
};
|
|
16340
|
+
}
|
|
16341
|
+
var globalRegistry = {
|
|
16342
|
+
transforms: [],
|
|
16343
|
+
tokens: {}
|
|
16344
|
+
};
|
|
16345
|
+
function getGlobalRegistry2() {
|
|
16346
|
+
return globalRegistry;
|
|
16347
|
+
}
|
|
16348
|
+
function registerTransform(transform) {
|
|
16349
|
+
globalRegistry.transforms.push(transform);
|
|
16350
|
+
}
|
|
16351
|
+
function registerToken(name, value) {
|
|
16352
|
+
globalRegistry.tokens[name] = value;
|
|
16353
|
+
}
|
|
16354
|
+
function createRegistry() {
|
|
16355
|
+
return {
|
|
16356
|
+
variants: /* @__PURE__ */ new Map(),
|
|
16357
|
+
utilities: /* @__PURE__ */ new Map(),
|
|
16358
|
+
tokens: /* @__PURE__ */ new Map(),
|
|
16359
|
+
transforms: [],
|
|
16360
|
+
cssHooks: [],
|
|
16361
|
+
buildHooks: [],
|
|
16362
|
+
plugins: /* @__PURE__ */ new Set()
|
|
16363
|
+
};
|
|
16364
|
+
}
|
|
16365
|
+
var _globalRegistry = createRegistry();
|
|
16366
|
+
function resetGlobalRegistry() {
|
|
16367
|
+
_globalRegistry = createRegistry();
|
|
16368
|
+
}
|
|
16369
|
+
function createContext(registry, config = {}) {
|
|
16370
|
+
return {
|
|
16371
|
+
config,
|
|
16372
|
+
addVariant(name, resolver) {
|
|
16373
|
+
registry.variants.set(name, resolver);
|
|
16374
|
+
},
|
|
16375
|
+
addUtility(name, styles) {
|
|
16376
|
+
registry.utilities.set(name, styles);
|
|
16377
|
+
},
|
|
16378
|
+
addToken(name, value) {
|
|
16379
|
+
const normalized = name.replace(/[^a-zA-Z0-9-]/g, "-").toLowerCase();
|
|
16380
|
+
registry.tokens.set(normalized, value);
|
|
16381
|
+
},
|
|
16382
|
+
addTransform(fn) {
|
|
16383
|
+
registry.transforms.push(fn);
|
|
16384
|
+
},
|
|
16385
|
+
onGenerateCSS(hook) {
|
|
16386
|
+
registry.cssHooks.push(hook);
|
|
16387
|
+
},
|
|
16388
|
+
onBuildEnd(hook) {
|
|
16389
|
+
registry.buildHooks.push(hook);
|
|
16390
|
+
},
|
|
16391
|
+
getToken(name) {
|
|
16392
|
+
return readToken(resolveTokenEngine(), name);
|
|
16393
|
+
},
|
|
16394
|
+
subscribeTokens(callback) {
|
|
16395
|
+
const engine = resolveTokenEngine();
|
|
16396
|
+
if (!engine) return () => {
|
|
16397
|
+
};
|
|
16398
|
+
if (typeof engine.subscribeTokens === "function") return engine.subscribeTokens(callback);
|
|
16399
|
+
if (typeof engine.subscribe === "function") return engine.subscribe(callback);
|
|
16400
|
+
return () => {
|
|
16401
|
+
};
|
|
16402
|
+
}
|
|
16403
|
+
};
|
|
16404
|
+
}
|
|
16405
|
+
function createTw(config = {}) {
|
|
16406
|
+
const registry = createRegistry();
|
|
16407
|
+
const ctx = createContext(registry, config);
|
|
16408
|
+
const result = ctx;
|
|
16409
|
+
result.registry = {
|
|
16410
|
+
plugins: registry.plugins,
|
|
16411
|
+
variants: registry.variants,
|
|
16412
|
+
utilities: registry.utilities,
|
|
16413
|
+
tokens: registry.tokens
|
|
16414
|
+
};
|
|
16415
|
+
result.use = (plugin) => {
|
|
16416
|
+
plugin.setup(ctx);
|
|
16417
|
+
registry.plugins.add(plugin.name);
|
|
16418
|
+
};
|
|
16419
|
+
if (config.plugins && Array.isArray(config.plugins)) {
|
|
16420
|
+
for (const plugin of config.plugins) {
|
|
16421
|
+
if (plugin && plugin.name) {
|
|
16422
|
+
result.use(plugin);
|
|
16423
|
+
}
|
|
16424
|
+
}
|
|
16425
|
+
}
|
|
16426
|
+
return result;
|
|
16427
|
+
}
|
|
16428
|
+
function use(plugin) {
|
|
16429
|
+
const ctx = createContext(_globalRegistry);
|
|
16430
|
+
plugin.setup(ctx);
|
|
16431
|
+
}
|
|
16432
|
+
function presetTokens(tokens) {
|
|
16433
|
+
return {
|
|
16434
|
+
name: "preset-tokens",
|
|
16435
|
+
setup(ctx) {
|
|
16436
|
+
for (const [name, value] of Object.entries(tokens)) {
|
|
16437
|
+
ctx.addToken(name, value);
|
|
16438
|
+
}
|
|
16439
|
+
}
|
|
16440
|
+
};
|
|
16441
|
+
}
|
|
16442
|
+
function presetVariants(variants) {
|
|
16443
|
+
return {
|
|
16444
|
+
name: "preset-variants",
|
|
16445
|
+
setup(ctx) {
|
|
16446
|
+
for (const [name, resolver] of Object.entries(variants)) {
|
|
16447
|
+
ctx.addVariant(name, resolver);
|
|
16448
|
+
}
|
|
16449
|
+
}
|
|
16450
|
+
};
|
|
16451
|
+
}
|
|
16452
|
+
function presetScrollbar() {
|
|
16453
|
+
return {
|
|
16454
|
+
name: "preset-scrollbar",
|
|
16455
|
+
setup(ctx) {
|
|
16456
|
+
ctx.addVariant("scrollbar-thin", () => "::-webkit-scrollbar{width:8px;height:8px}");
|
|
16457
|
+
ctx.addVariant("scrollbar-none", () => "::-webkit-scrollbar{display:none}");
|
|
16458
|
+
ctx.addUtility("scrollbar-hide", { "-ms-overflow-style": "none", "scrollbar-width": "none" });
|
|
16459
|
+
}
|
|
16460
|
+
};
|
|
16461
|
+
}
|
|
16462
|
+
exports$1222.createTw = createTw;
|
|
16463
|
+
exports$1222.createTwPlugin = createTwPlugin;
|
|
16464
|
+
exports$1222.getGlobalRegistry = getGlobalRegistry2;
|
|
16465
|
+
exports$1222.presetScrollbar = presetScrollbar;
|
|
16466
|
+
exports$1222.presetTokens = presetTokens;
|
|
16467
|
+
exports$1222.presetVariants = presetVariants;
|
|
16468
|
+
exports$1222.registerToken = registerToken;
|
|
16469
|
+
exports$1222.registerTransform = registerTransform;
|
|
16470
|
+
exports$1222.resetGlobalRegistry = resetGlobalRegistry;
|
|
16471
|
+
exports$1222.use = use;
|
|
16315
16472
|
}
|
|
16316
16473
|
});
|
|
16317
|
-
var
|
|
16318
|
-
"
|
|
16319
|
-
|
|
16320
|
-
|
|
16474
|
+
var require_shared222 = __commonJS2222({
|
|
16475
|
+
"dist/shared.js"(exports$1222) {
|
|
16476
|
+
var fs5 = __require2222("fs");
|
|
16477
|
+
var module$1222 = __require2222("module");
|
|
16478
|
+
var os = __require2222("os");
|
|
16479
|
+
var path9 = __require2222("path");
|
|
16480
|
+
var url2222 = __require2222("url");
|
|
16481
|
+
var crypto2 = __require2222("crypto");
|
|
16482
|
+
function _interopDefault2222(e) {
|
|
16483
|
+
return e && e.__esModule ? e : { default: e };
|
|
16484
|
+
}
|
|
16485
|
+
var fs__default22 = /* @__PURE__ */ _interopDefault2222(fs5);
|
|
16486
|
+
var os__default = /* @__PURE__ */ _interopDefault2222(os);
|
|
16487
|
+
var path__default2 = /* @__PURE__ */ _interopDefault2222(path9);
|
|
16488
|
+
var LRUCache = class {
|
|
16489
|
+
constructor(max = 256, ttlMs = null) {
|
|
16490
|
+
this.map = /* @__PURE__ */ new Map();
|
|
16491
|
+
this.max = max;
|
|
16492
|
+
this.ttlMs = ttlMs;
|
|
16493
|
+
}
|
|
16494
|
+
get(key) {
|
|
16495
|
+
const entry = this.map.get(key);
|
|
16496
|
+
if (!entry) return void 0;
|
|
16497
|
+
if (this.ttlMs !== null && Date.now() - entry.ts > this.ttlMs) {
|
|
16498
|
+
this.map.delete(key);
|
|
16499
|
+
return void 0;
|
|
16500
|
+
}
|
|
16501
|
+
this.map.delete(key);
|
|
16502
|
+
this.map.set(key, entry);
|
|
16503
|
+
return entry.value;
|
|
16504
|
+
}
|
|
16505
|
+
set(key, value) {
|
|
16506
|
+
if (this.map.has(key)) this.map.delete(key);
|
|
16507
|
+
else if (this.map.size >= this.max) {
|
|
16508
|
+
this.map.delete(this.map.keys().next().value);
|
|
16509
|
+
}
|
|
16510
|
+
this.map.set(key, { value, ts: Date.now() });
|
|
16511
|
+
}
|
|
16512
|
+
has(key) {
|
|
16513
|
+
return this.get(key) !== void 0;
|
|
16514
|
+
}
|
|
16515
|
+
delete(key) {
|
|
16516
|
+
this.map.delete(key);
|
|
16517
|
+
}
|
|
16518
|
+
clear() {
|
|
16519
|
+
this.map.clear();
|
|
16520
|
+
}
|
|
16521
|
+
get size() {
|
|
16522
|
+
return this.map.size;
|
|
16523
|
+
}
|
|
16524
|
+
keys() {
|
|
16525
|
+
return this.map.keys();
|
|
16526
|
+
}
|
|
16527
|
+
*values() {
|
|
16528
|
+
for (const entry of this.map.values()) {
|
|
16529
|
+
yield entry.value;
|
|
16530
|
+
}
|
|
16531
|
+
}
|
|
16532
|
+
*entries() {
|
|
16533
|
+
for (const [key, entry] of this.map.entries()) {
|
|
16534
|
+
yield [key, entry.value];
|
|
16535
|
+
}
|
|
16536
|
+
}
|
|
16537
|
+
};
|
|
16538
|
+
function getPlatformExtension() {
|
|
16539
|
+
const platform = os__default.default.platform();
|
|
16540
|
+
switch (platform) {
|
|
16541
|
+
case "win32":
|
|
16542
|
+
return ".node";
|
|
16543
|
+
case "darwin":
|
|
16544
|
+
return ".dylib";
|
|
16545
|
+
case "linux":
|
|
16546
|
+
return ".so";
|
|
16547
|
+
default:
|
|
16548
|
+
return ".node";
|
|
16549
|
+
}
|
|
16550
|
+
}
|
|
16551
|
+
function formatErrorMessage2(error) {
|
|
16552
|
+
return error instanceof Error ? error.message : String(error);
|
|
16553
|
+
}
|
|
16554
|
+
function resolveRuntimeDir2(dirnameValue, moduleImportUrl) {
|
|
16555
|
+
if (typeof dirnameValue === "string" && dirnameValue.length > 0) return dirnameValue;
|
|
16556
|
+
return path__default2.default.dirname(url2222.fileURLToPath(moduleImportUrl));
|
|
16557
|
+
}
|
|
16558
|
+
function resolveNativeBindingCandidates2(options) {
|
|
16559
|
+
const out = [];
|
|
16560
|
+
const envVarNames = options.envVarNames ?? ["TWS_NATIVE_PATH"];
|
|
16561
|
+
for (const envVarName of envVarNames) {
|
|
16562
|
+
const raw = process.env[envVarName]?.trim();
|
|
16563
|
+
if (!raw) continue;
|
|
16564
|
+
const resolved = path__default2.default.resolve(raw);
|
|
16565
|
+
if (options.enforceNodeExtensionForEnvPath) {
|
|
16566
|
+
if (path__default2.default.extname(resolved).toLowerCase() !== ".node") {
|
|
16567
|
+
throw new Error(
|
|
16568
|
+
`Invalid native binding path from ${envVarName}="${raw}". Expected a .node file.`
|
|
16569
|
+
);
|
|
16570
|
+
}
|
|
16571
|
+
}
|
|
16572
|
+
out.push(resolved);
|
|
16573
|
+
}
|
|
16574
|
+
if (options.includeDefaultCandidates !== false) {
|
|
16575
|
+
const ext = options.platformExtension ?? getPlatformExtension();
|
|
16576
|
+
const defaultBindingName = `tailwind_styled_parser${ext}`;
|
|
16577
|
+
out.push(path__default2.default.resolve(process.cwd(), "native", defaultBindingName));
|
|
16578
|
+
out.push(path__default2.default.resolve(options.runtimeDir, "..", "..", "..", "native", defaultBindingName));
|
|
16579
|
+
}
|
|
16580
|
+
return Array.from(new Set(out));
|
|
16581
|
+
}
|
|
16582
|
+
function parseDebugToken(namespace, token) {
|
|
16583
|
+
if (token === "*" || token === namespace || token === "tailwind-styled:*") return true;
|
|
16584
|
+
return token.endsWith("*") && namespace.startsWith(token.slice(0, -1));
|
|
16585
|
+
}
|
|
16586
|
+
function isDebugNamespaceEnabled(namespace) {
|
|
16587
|
+
if (process.env.TWS_DEBUG === "1" || process.env.TAILWIND_STYLED_DEBUG === "1") return true;
|
|
16588
|
+
const raw = process.env.DEBUG;
|
|
16589
|
+
if (!raw) return false;
|
|
16590
|
+
return raw.split(",").map((token) => token.trim()).some((token) => parseDebugToken(namespace, token));
|
|
16591
|
+
}
|
|
16592
|
+
function createDebugLogger2(namespace, label = namespace) {
|
|
16593
|
+
const debugEnabled = isDebugNamespaceEnabled(namespace);
|
|
16594
|
+
return (message) => {
|
|
16595
|
+
if (!debugEnabled) return;
|
|
16596
|
+
console.debug(`[${label}] ${message}`);
|
|
16597
|
+
};
|
|
16598
|
+
}
|
|
16599
|
+
function loadNativeBinding2(options) {
|
|
16600
|
+
const req = module$1222.createRequire(path__default2.default.join(options.runtimeDir, "noop.cjs"));
|
|
16601
|
+
const loadErrors2 = [];
|
|
16602
|
+
for (const candidate of options.candidates) {
|
|
16603
|
+
if (!fs__default22.default.existsSync(candidate)) continue;
|
|
16604
|
+
try {
|
|
16605
|
+
const mod = req(candidate);
|
|
16606
|
+
if (options.isValid(mod)) {
|
|
16607
|
+
return {
|
|
16608
|
+
binding: mod,
|
|
16609
|
+
loadedPath: candidate,
|
|
16610
|
+
loadErrors: loadErrors2
|
|
16611
|
+
};
|
|
16612
|
+
}
|
|
16613
|
+
loadErrors2.push({
|
|
16614
|
+
path: candidate,
|
|
16615
|
+
message: options.invalidExportMessage
|
|
16616
|
+
});
|
|
16617
|
+
} catch (error) {
|
|
16618
|
+
loadErrors2.push({
|
|
16619
|
+
path: candidate,
|
|
16620
|
+
message: formatErrorMessage2(error)
|
|
16621
|
+
});
|
|
16622
|
+
}
|
|
16623
|
+
}
|
|
16624
|
+
return {
|
|
16625
|
+
binding: null,
|
|
16626
|
+
loadedPath: null,
|
|
16627
|
+
loadErrors: loadErrors2
|
|
16628
|
+
};
|
|
16629
|
+
}
|
|
16630
|
+
var LEVELS = { silent: 0, error: 1, warn: 2, info: 3, debug: 4 };
|
|
16631
|
+
function getEnvLevel() {
|
|
16632
|
+
const env = process.env.TWS_LOG_LEVEL?.toLowerCase();
|
|
16633
|
+
if (env && env in LEVELS) return env;
|
|
16634
|
+
return process.env.TWS_DEBUG_SCANNER === "1" ? "debug" : "info";
|
|
16635
|
+
}
|
|
16636
|
+
function createLogger22(prefix, level) {
|
|
16637
|
+
let currentLevel = level ?? getEnvLevel();
|
|
16638
|
+
const log222 = (msgLevel, stream, args) => {
|
|
16639
|
+
if (LEVELS[msgLevel] > LEVELS[currentLevel]) return;
|
|
16640
|
+
const line = `[${prefix}] ${args.map(String).join(" ")}
|
|
16641
|
+
`;
|
|
16642
|
+
process[stream].write(line);
|
|
16643
|
+
};
|
|
16644
|
+
return {
|
|
16645
|
+
error: (...a) => log222("error", "stderr", a),
|
|
16646
|
+
warn: (...a) => log222("warn", "stderr", a),
|
|
16647
|
+
info: (...a) => log222("info", "stdout", a),
|
|
16648
|
+
debug: (...a) => log222("debug", "stderr", a),
|
|
16649
|
+
setLevel: (l) => {
|
|
16650
|
+
currentLevel = l;
|
|
16651
|
+
}
|
|
16652
|
+
};
|
|
16653
|
+
}
|
|
16654
|
+
var logger = createLogger22("tailwind-styled");
|
|
16655
|
+
function hashContent2(content, algorithm = "md5", length = 8) {
|
|
16656
|
+
return crypto2.createHash(algorithm).update(content).digest("hex").slice(0, length);
|
|
16657
|
+
}
|
|
16658
|
+
function hashFile(filePath, algorithm = "md5", length = 8) {
|
|
16659
|
+
try {
|
|
16660
|
+
const content = fs__default22.default.readFileSync(filePath, "utf8");
|
|
16661
|
+
return hashContent2(content, algorithm, length);
|
|
16662
|
+
} catch {
|
|
16663
|
+
return "00000000";
|
|
16664
|
+
}
|
|
16665
|
+
}
|
|
16666
|
+
function debounce(fn, ms) {
|
|
16667
|
+
let timer = null;
|
|
16668
|
+
return ((...args) => {
|
|
16669
|
+
if (timer) clearTimeout(timer);
|
|
16670
|
+
timer = setTimeout(() => {
|
|
16671
|
+
timer = null;
|
|
16672
|
+
fn(...args);
|
|
16673
|
+
}, ms);
|
|
16674
|
+
});
|
|
16675
|
+
}
|
|
16676
|
+
function throttle(fn, ms) {
|
|
16677
|
+
let last = 0;
|
|
16678
|
+
return ((...args) => {
|
|
16679
|
+
const now = Date.now();
|
|
16680
|
+
if (now - last >= ms) {
|
|
16681
|
+
last = now;
|
|
16682
|
+
fn(...args);
|
|
16683
|
+
}
|
|
16684
|
+
});
|
|
16685
|
+
}
|
|
16686
|
+
function parseVersion(v) {
|
|
16687
|
+
const parts = v.replace(/^v/, "").split(".").map((p) => {
|
|
16688
|
+
const n = Number(p);
|
|
16689
|
+
return Number.isNaN(n) ? 0 : n;
|
|
16690
|
+
});
|
|
16691
|
+
const [major = 0, minor = 0, patch = 0] = parts;
|
|
16692
|
+
return { major, minor, patch };
|
|
16693
|
+
}
|
|
16694
|
+
function satisfiesMinVersion(version, minVersion) {
|
|
16695
|
+
const v = parseVersion(version);
|
|
16696
|
+
const min = parseVersion(minVersion);
|
|
16697
|
+
if (v.major !== min.major) return v.major > min.major;
|
|
16698
|
+
if (v.minor !== min.minor) return v.minor > min.minor;
|
|
16699
|
+
return v.patch >= min.patch;
|
|
16700
|
+
}
|
|
16701
|
+
exports$1222.LRUCache = LRUCache;
|
|
16702
|
+
exports$1222.createDebugLogger = createDebugLogger2;
|
|
16703
|
+
exports$1222.createLogger = createLogger22;
|
|
16704
|
+
exports$1222.debounce = debounce;
|
|
16705
|
+
exports$1222.formatErrorMessage = formatErrorMessage2;
|
|
16706
|
+
exports$1222.hashContent = hashContent2;
|
|
16707
|
+
exports$1222.hashFile = hashFile;
|
|
16708
|
+
exports$1222.isDebugNamespaceEnabled = isDebugNamespaceEnabled;
|
|
16709
|
+
exports$1222.loadNativeBinding = loadNativeBinding2;
|
|
16710
|
+
exports$1222.logger = logger;
|
|
16711
|
+
exports$1222.parseVersion = parseVersion;
|
|
16712
|
+
exports$1222.resolveNativeBindingCandidates = resolveNativeBindingCandidates2;
|
|
16713
|
+
exports$1222.resolveRuntimeDir = resolveRuntimeDir2;
|
|
16714
|
+
exports$1222.satisfiesMinVersion = satisfiesMinVersion;
|
|
16715
|
+
exports$1222.throttle = throttle;
|
|
16321
16716
|
}
|
|
16322
16717
|
});
|
|
16323
16718
|
var nativeBridge_exports = {};
|
|
@@ -16420,6 +16815,7 @@ Or install a prebuilt binary for your platform.`
|
|
|
16420
16815
|
metadata
|
|
16421
16816
|
};
|
|
16422
16817
|
}
|
|
16818
|
+
var import_shared222;
|
|
16423
16819
|
var getDirname22;
|
|
16424
16820
|
var runtimeDir;
|
|
16425
16821
|
var requireFromRuntime;
|
|
@@ -16427,7 +16823,7 @@ Or install a prebuilt binary for your platform.`
|
|
|
16427
16823
|
var log22;
|
|
16428
16824
|
var init_nativeBridge = __esm2({
|
|
16429
16825
|
"packages/compiler/src/nativeBridge.ts"() {
|
|
16430
|
-
|
|
16826
|
+
import_shared222 = __toESM222(require_shared222());
|
|
16431
16827
|
getDirname22 = () => {
|
|
16432
16828
|
if (typeof __dirname !== "undefined") {
|
|
16433
16829
|
return __dirname;
|
|
@@ -16439,7 +16835,7 @@ Or install a prebuilt binary for your platform.`
|
|
|
16439
16835
|
};
|
|
16440
16836
|
runtimeDir = getDirname22();
|
|
16441
16837
|
requireFromRuntime = typeof module2 !== "undefined" && typeof module2.require === "function" ? module2.require.bind(module2) : module$122.createRequire(path7__default.default.join(runtimeDir, "noop.cjs"));
|
|
16442
|
-
log22 =
|
|
16838
|
+
log22 = (0, import_shared222.createLogger)("compiler:native");
|
|
16443
16839
|
}
|
|
16444
16840
|
});
|
|
16445
16841
|
function requireNative() {
|
|
@@ -18164,13 +18560,7 @@ body {
|
|
|
18164
18560
|
`;
|
|
18165
18561
|
}
|
|
18166
18562
|
});
|
|
18167
|
-
var
|
|
18168
|
-
transforms: [],
|
|
18169
|
-
tokens: {}
|
|
18170
|
-
};
|
|
18171
|
-
function getGlobalRegistry() {
|
|
18172
|
-
return globalRegistry;
|
|
18173
|
-
}
|
|
18563
|
+
var import_plugin = __toESM222(require_plugin2());
|
|
18174
18564
|
function mergeClassesStatic2(classes) {
|
|
18175
18565
|
return tailwindMerge.twMerge(classes);
|
|
18176
18566
|
}
|
|
@@ -18909,7 +19299,7 @@ ${subAssignments}
|
|
|
18909
19299
|
compoundVariants: compounds,
|
|
18910
19300
|
defaultVariants: defaults
|
|
18911
19301
|
};
|
|
18912
|
-
const registry = getGlobalRegistry();
|
|
19302
|
+
const registry = (0, import_plugin.getGlobalRegistry)();
|
|
18913
19303
|
if (registry.transforms.length > 0) {
|
|
18914
19304
|
const componentName = `Tw${tag}`;
|
|
18915
19305
|
for (const transform of registry.transforms) {
|
|
@@ -19089,8 +19479,8 @@ Please ensure the native module is properly built.`
|
|
|
19089
19479
|
function scanFiles(dir) {
|
|
19090
19480
|
const files = [];
|
|
19091
19481
|
function walk(current) {
|
|
19092
|
-
if (!
|
|
19093
|
-
const entries =
|
|
19482
|
+
if (!fs2__default2.default.existsSync(current)) return;
|
|
19483
|
+
const entries = fs2__default2.default.readdirSync(current, { withFileTypes: true });
|
|
19094
19484
|
for (const entry of entries) {
|
|
19095
19485
|
if (SKIP_DIRS.has(entry.name)) continue;
|
|
19096
19486
|
const fullPath = path7__default.default.join(current, entry.name);
|
|
@@ -19111,7 +19501,7 @@ Please ensure the native module is properly built.`
|
|
|
19111
19501
|
const files = scanFiles(absDir);
|
|
19112
19502
|
for (const file of files) {
|
|
19113
19503
|
try {
|
|
19114
|
-
const source =
|
|
19504
|
+
const source = fs2__default2.default.readFileSync(file, "utf-8");
|
|
19115
19505
|
const usage = extractComponentUsage(source);
|
|
19116
19506
|
for (const [comp, props] of Object.entries(usage)) {
|
|
19117
19507
|
if (!combined[comp]) combined[comp] = {};
|
|
@@ -19250,19 +19640,19 @@ Please ensure the native module is properly built.`
|
|
|
19250
19640
|
}
|
|
19251
19641
|
return { css, report };
|
|
19252
19642
|
}
|
|
19253
|
-
|
|
19643
|
+
var import_shared2222 = __toESM222(require_shared222());
|
|
19254
19644
|
var CACHE_DIR = ".tw-cache";
|
|
19255
19645
|
var HASH_CACHE_FILE = path7__default.default.join(CACHE_DIR, "file-hashes.json");
|
|
19256
19646
|
var GRAPH_CACHE_FILE = path7__default.default.join(CACHE_DIR, "dep-graph.json");
|
|
19257
19647
|
function ensureCacheDir() {
|
|
19258
|
-
if (!
|
|
19259
|
-
|
|
19648
|
+
if (!fs2__default2.default.existsSync(CACHE_DIR)) {
|
|
19649
|
+
fs2__default2.default.mkdirSync(CACHE_DIR, { recursive: true });
|
|
19260
19650
|
}
|
|
19261
19651
|
}
|
|
19262
19652
|
function loadHashCache() {
|
|
19263
19653
|
try {
|
|
19264
|
-
if (
|
|
19265
|
-
const raw =
|
|
19654
|
+
if (fs2__default2.default.existsSync(HASH_CACHE_FILE)) {
|
|
19655
|
+
const raw = fs2__default2.default.readFileSync(HASH_CACHE_FILE, "utf-8");
|
|
19266
19656
|
return new Map(Object.entries(JSON.parse(raw)));
|
|
19267
19657
|
}
|
|
19268
19658
|
} catch {
|
|
@@ -19273,14 +19663,14 @@ Please ensure the native module is properly built.`
|
|
|
19273
19663
|
try {
|
|
19274
19664
|
ensureCacheDir();
|
|
19275
19665
|
const obj = Object.fromEntries(cache);
|
|
19276
|
-
|
|
19666
|
+
fs2__default2.default.writeFileSync(HASH_CACHE_FILE, JSON.stringify(obj, null, 2));
|
|
19277
19667
|
} catch {
|
|
19278
19668
|
}
|
|
19279
19669
|
}
|
|
19280
19670
|
function loadGraphCache() {
|
|
19281
19671
|
try {
|
|
19282
|
-
if (
|
|
19283
|
-
const raw =
|
|
19672
|
+
if (fs2__default2.default.existsSync(GRAPH_CACHE_FILE)) {
|
|
19673
|
+
const raw = fs2__default2.default.readFileSync(GRAPH_CACHE_FILE, "utf-8");
|
|
19284
19674
|
const data = JSON.parse(raw);
|
|
19285
19675
|
return new Map(Object.entries(data));
|
|
19286
19676
|
}
|
|
@@ -19292,7 +19682,7 @@ Please ensure the native module is properly built.`
|
|
|
19292
19682
|
try {
|
|
19293
19683
|
ensureCacheDir();
|
|
19294
19684
|
const obj = Object.fromEntries(graph);
|
|
19295
|
-
|
|
19685
|
+
fs2__default2.default.writeFileSync(GRAPH_CACHE_FILE, JSON.stringify(obj, null, 2));
|
|
19296
19686
|
} catch {
|
|
19297
19687
|
}
|
|
19298
19688
|
}
|
|
@@ -19315,7 +19705,7 @@ Please ensure the native module is properly built.`
|
|
|
19315
19705
|
return result;
|
|
19316
19706
|
}
|
|
19317
19707
|
function hashFileContent(content) {
|
|
19318
|
-
return hashContent(content, "md5", 8);
|
|
19708
|
+
return (0, import_shared2222.hashContent)(content, "md5", 8);
|
|
19319
19709
|
}
|
|
19320
19710
|
function makeAtomicClass(declaration, modifier) {
|
|
19321
19711
|
const key = modifier ? `${declaration}::${modifier}` : declaration;
|
|
@@ -19397,8 +19787,8 @@ Please ensure the native module is properly built.`
|
|
|
19397
19787
|
}
|
|
19398
19788
|
loadFromDisk() {
|
|
19399
19789
|
try {
|
|
19400
|
-
if (
|
|
19401
|
-
const css =
|
|
19790
|
+
if (fs2__default2.default.existsSync(this.outputPath)) {
|
|
19791
|
+
const css = fs2__default2.default.readFileSync(this.outputPath, "utf-8");
|
|
19402
19792
|
const ruleRe = /(\.tw-[a-z0-9]+(?::[\w-]+)?)\{([^}]+)\}|(@[^{]+)\{(\.tw-[a-z0-9]+)\{([^}]+)\}\}/g;
|
|
19403
19793
|
let m;
|
|
19404
19794
|
while ((m = ruleRe.exec(css)) !== null) {
|
|
@@ -19428,7 +19818,7 @@ Please ensure the native module is properly built.`
|
|
|
19428
19818
|
try {
|
|
19429
19819
|
ensureCacheDir();
|
|
19430
19820
|
const css = Array.from(this.ruleMap.values()).join("\n");
|
|
19431
|
-
await
|
|
19821
|
+
await fs2__default2.default.promises.writeFile(this.outputPath, css, "utf-8");
|
|
19432
19822
|
this.dirty = false;
|
|
19433
19823
|
} catch {
|
|
19434
19824
|
}
|
|
@@ -19439,7 +19829,7 @@ Please ensure the native module is properly built.`
|
|
|
19439
19829
|
try {
|
|
19440
19830
|
ensureCacheDir();
|
|
19441
19831
|
const css = Array.from(this.ruleMap.values()).join("\n");
|
|
19442
|
-
|
|
19832
|
+
fs2__default2.default.writeFileSync(this.outputPath, css, "utf-8");
|
|
19443
19833
|
this.dirty = false;
|
|
19444
19834
|
} catch {
|
|
19445
19835
|
}
|
|
@@ -20396,7 +20786,7 @@ The native binding is required for all transformations.`
|
|
|
20396
20786
|
_cachedCwd = cwd;
|
|
20397
20787
|
for (const file of CONFIG_FILES) {
|
|
20398
20788
|
const fullPath = path7__default.default.join(cwd, file);
|
|
20399
|
-
if (
|
|
20789
|
+
if (fs2__default2.default.existsSync(fullPath)) {
|
|
20400
20790
|
try {
|
|
20401
20791
|
const mod = __require2222(fullPath);
|
|
20402
20792
|
const config = mod.default ?? mod;
|
|
@@ -20424,14 +20814,14 @@ The native binding is required for all transformations.`
|
|
|
20424
20814
|
if (config.content?.files) {
|
|
20425
20815
|
return config.content.files.filter((f) => typeof f === "string");
|
|
20426
20816
|
}
|
|
20427
|
-
return ["src", "app", "pages", "components"].filter((d) =>
|
|
20817
|
+
return ["src", "app", "pages", "components"].filter((d) => fs2__default2.default.existsSync(path7__default.default.join(cwd, d))).map((d) => `./${d}/**/*.{tsx,ts,jsx,js}`);
|
|
20428
20818
|
}
|
|
20429
20819
|
function invalidateConfigCache() {
|
|
20430
20820
|
_cachedConfig = null;
|
|
20431
20821
|
_cachedCwd = "";
|
|
20432
20822
|
}
|
|
20433
20823
|
function isZeroConfig(cwd = process.cwd()) {
|
|
20434
|
-
return !CONFIG_FILES.some((f) =>
|
|
20824
|
+
return !CONFIG_FILES.some((f) => fs2__default2.default.existsSync(path7__default.default.join(cwd, f)));
|
|
20435
20825
|
}
|
|
20436
20826
|
function bootstrapZeroConfig(cwd = process.cwd()) {
|
|
20437
20827
|
let generatedConfig = false;
|
|
@@ -20443,13 +20833,13 @@ The native binding is required for all transformations.`
|
|
|
20443
20833
|
"src/index.css",
|
|
20444
20834
|
"src/styles/globals.css"
|
|
20445
20835
|
];
|
|
20446
|
-
const hasGlobalCss = cssPaths.some((p) =>
|
|
20836
|
+
const hasGlobalCss = cssPaths.some((p) => fs2__default2.default.existsSync(path7__default.default.join(cwd, p)));
|
|
20447
20837
|
if (!hasGlobalCss) {
|
|
20448
20838
|
const { defaultGlobalCss: defaultGlobalCss2 } = (init_defaultPreset(), __toCommonJS2(defaultPreset_exports));
|
|
20449
|
-
const appDir =
|
|
20839
|
+
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";
|
|
20450
20840
|
const cssPath = path7__default.default.join(cwd, appDir, "globals.css");
|
|
20451
|
-
if (
|
|
20452
|
-
|
|
20841
|
+
if (fs2__default2.default.existsSync(path7__default.default.dirname(cssPath))) {
|
|
20842
|
+
fs2__default2.default.writeFileSync(cssPath, defaultGlobalCss2);
|
|
20453
20843
|
generatedCss = true;
|
|
20454
20844
|
console.log(`[tailwind-styled-v4] Generated ${cssPath}`);
|
|
20455
20845
|
}
|
|
@@ -20522,8 +20912,8 @@ Please build the native module.`
|
|
|
20522
20912
|
}
|
|
20523
20913
|
var SCAN_EXTENSIONS2 = [".tsx", ".ts", ".jsx", ".js"];
|
|
20524
20914
|
function scanDir(dir, files = []) {
|
|
20525
|
-
if (!
|
|
20526
|
-
const entries =
|
|
20915
|
+
if (!fs2__default2.default.existsSync(dir)) return files;
|
|
20916
|
+
const entries = fs2__default2.default.readdirSync(dir, { withFileTypes: true });
|
|
20527
20917
|
for (const entry of entries) {
|
|
20528
20918
|
if (entry.name === "node_modules" || entry.name === ".next" || entry.name === "dist") continue;
|
|
20529
20919
|
const fullPath = path7__default.default.join(dir, entry.name);
|
|
@@ -20542,7 +20932,7 @@ Please build the native module.`
|
|
|
20542
20932
|
const files = scanDir(absDir);
|
|
20543
20933
|
for (const file of files) {
|
|
20544
20934
|
try {
|
|
20545
|
-
const source =
|
|
20935
|
+
const source = fs2__default2.default.readFileSync(file, "utf-8");
|
|
20546
20936
|
const classes = extractAllClasses2(source);
|
|
20547
20937
|
classes.forEach((c) => allClasses.add(c));
|
|
20548
20938
|
} catch {
|
|
@@ -20551,13 +20941,13 @@ Please build the native module.`
|
|
|
20551
20941
|
}
|
|
20552
20942
|
const sorted = Array.from(allClasses).sort();
|
|
20553
20943
|
const absOutput = path7__default.default.isAbsolute(outputPath) ? outputPath : path7__default.default.resolve(cwd, outputPath);
|
|
20554
|
-
|
|
20944
|
+
fs2__default2.default.writeFileSync(absOutput, JSON.stringify(sorted, null, 2));
|
|
20555
20945
|
console.log(`[tailwind-styled-v4] Safelist: ${sorted.length} classes \u2192 ${absOutput}`);
|
|
20556
20946
|
return sorted;
|
|
20557
20947
|
}
|
|
20558
20948
|
function loadSafelist(safelistPath) {
|
|
20559
20949
|
try {
|
|
20560
|
-
const content =
|
|
20950
|
+
const content = fs2__default2.default.readFileSync(safelistPath, "utf-8");
|
|
20561
20951
|
return JSON.parse(content);
|
|
20562
20952
|
} catch {
|
|
20563
20953
|
return [];
|
|
@@ -20570,7 +20960,7 @@ Please build the native module.`
|
|
|
20570
20960
|
const files = scanDir(absDir);
|
|
20571
20961
|
for (const file of files) {
|
|
20572
20962
|
try {
|
|
20573
|
-
const source =
|
|
20963
|
+
const source = fs2__default2.default.readFileSync(file, "utf-8");
|
|
20574
20964
|
const classes = extractAllClasses2(source);
|
|
20575
20965
|
classes.forEach((c) => allClasses.add(c));
|
|
20576
20966
|
} catch {
|
|
@@ -20579,13 +20969,13 @@ Please build the native module.`
|
|
|
20579
20969
|
}
|
|
20580
20970
|
const sorted = Array.from(allClasses).sort();
|
|
20581
20971
|
const absOutput = path7__default.default.isAbsolute(outputPath) ? outputPath : path7__default.default.resolve(cwd, outputPath);
|
|
20582
|
-
|
|
20972
|
+
fs2__default2.default.mkdirSync(path7__default.default.dirname(absOutput), { recursive: true });
|
|
20583
20973
|
const css = sorted.length > 0 ? `/* Auto-generated by tailwind-styled-v4 \u2014 DO NOT EDIT */
|
|
20584
20974
|
@source inline("${sorted.join(" ")}");
|
|
20585
20975
|
` : `/* Auto-generated by tailwind-styled-v4 \u2014 DO NOT EDIT */
|
|
20586
20976
|
/* No safelist classes found */
|
|
20587
20977
|
`;
|
|
20588
|
-
|
|
20978
|
+
fs2__default2.default.writeFileSync(absOutput, css);
|
|
20589
20979
|
console.log(`[tailwind-styled-v4] Safelist: ${sorted.length} classes \u2192 ${absOutput}`);
|
|
20590
20980
|
return sorted;
|
|
20591
20981
|
}
|
|
@@ -20693,13 +21083,13 @@ Please build the native module.`
|
|
|
20693
21083
|
}
|
|
20694
21084
|
}
|
|
20695
21085
|
if (outputDir) {
|
|
20696
|
-
const
|
|
20697
|
-
|
|
21086
|
+
const fs5 = __require2222("fs");
|
|
21087
|
+
fs5.mkdirSync(outputDir, { recursive: true });
|
|
20698
21088
|
for (const result of results) {
|
|
20699
21089
|
const filename = routeToFilename(result.route);
|
|
20700
21090
|
const filepath = path7__default.default.join(outputDir, filename);
|
|
20701
|
-
|
|
20702
|
-
|
|
21091
|
+
fs5.mkdirSync(path7__default.default.dirname(filepath), { recursive: true });
|
|
21092
|
+
fs5.writeFileSync(filepath, result.css);
|
|
20703
21093
|
}
|
|
20704
21094
|
const totalSize = results.reduce((sum, r) => sum + r.sizeBytes, 0);
|
|
20705
21095
|
console.log(
|