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/vite.mjs
CHANGED
|
@@ -16068,21 +16068,23 @@ try {
|
|
|
16068
16068
|
var __toCommonJS = (mod) => __copyProps222(__defProp222({}, "__esModule", { value: true }), mod);
|
|
16069
16069
|
var require_compiler22 = __commonJS222({
|
|
16070
16070
|
"dist/compiler.js"(exports$122, module2) {
|
|
16071
|
-
var crypto = __require222("crypto");
|
|
16072
|
-
var fs322 = __require222("fs");
|
|
16073
16071
|
var module$122 = __require222("module");
|
|
16074
16072
|
var path7 = __require222("path");
|
|
16075
16073
|
var url222 = __require222("url");
|
|
16076
16074
|
var tailwindMerge = __require222("tailwind-merge");
|
|
16075
|
+
var fs22 = __require222("fs");
|
|
16076
|
+
var crypto = __require222("crypto");
|
|
16077
16077
|
var _documentCurrentScript22 = typeof document !== "undefined" ? document.currentScript : null;
|
|
16078
16078
|
function _interopDefault222(e) {
|
|
16079
16079
|
return e && e.__esModule ? e : { default: e };
|
|
16080
16080
|
}
|
|
16081
|
-
var fs3__default = /* @__PURE__ */ _interopDefault222(fs322);
|
|
16082
16081
|
var path7__default = /* @__PURE__ */ _interopDefault222(path7);
|
|
16082
|
+
var fs2__default2 = /* @__PURE__ */ _interopDefault222(fs22);
|
|
16083
|
+
var __create2222 = Object.create;
|
|
16083
16084
|
var __defProp2222 = Object.defineProperty;
|
|
16084
16085
|
var __getOwnPropDesc2222 = Object.getOwnPropertyDescriptor;
|
|
16085
16086
|
var __getOwnPropNames2222 = Object.getOwnPropertyNames;
|
|
16087
|
+
var __getProtoOf2222 = Object.getPrototypeOf;
|
|
16086
16088
|
var __hasOwnProp2222 = Object.prototype.hasOwnProperty;
|
|
16087
16089
|
var __require2222 = /* @__PURE__ */ ((x) => typeof __require222 !== "undefined" ? __require222 : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
16088
16090
|
get: (a, b) => (typeof __require222 !== "undefined" ? __require222 : a)[b]
|
|
@@ -16093,6 +16095,9 @@ try {
|
|
|
16093
16095
|
var __esm2 = (fn, res) => function __init() {
|
|
16094
16096
|
return fn && (res = (0, fn[__getOwnPropNames2222(fn)[0]])(fn = 0)), res;
|
|
16095
16097
|
};
|
|
16098
|
+
var __commonJS2222 = (cb, mod) => function __require22222() {
|
|
16099
|
+
return mod || (0, cb[__getOwnPropNames2222(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
16100
|
+
};
|
|
16096
16101
|
var __export2 = (target, all) => {
|
|
16097
16102
|
for (var name in all)
|
|
16098
16103
|
__defProp2222(target, name, { get: all[name], enumerable: true });
|
|
@@ -16105,48 +16110,438 @@ try {
|
|
|
16105
16110
|
}
|
|
16106
16111
|
return to;
|
|
16107
16112
|
};
|
|
16113
|
+
var __toESM2222 = (mod, isNodeMode, target) => (target = mod != null ? __create2222(__getProtoOf2222(mod)) : {}, __copyProps2222(
|
|
16114
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
16115
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
16116
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
16117
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
16118
|
+
__defProp2222(target, "default", { value: mod, enumerable: true }),
|
|
16119
|
+
mod
|
|
16120
|
+
));
|
|
16108
16121
|
var __toCommonJS2 = (mod) => __copyProps2222(__defProp2222({}, "__esModule", { value: true }), mod);
|
|
16109
|
-
|
|
16110
|
-
|
|
16111
|
-
|
|
16112
|
-
|
|
16113
|
-
|
|
16114
|
-
|
|
16115
|
-
|
|
16116
|
-
|
|
16117
|
-
if (LEVELS[msgLevel] > LEVELS[currentLevel]) return;
|
|
16118
|
-
const line = `[${prefix}] ${args.map(String).join(" ")}
|
|
16119
|
-
`;
|
|
16120
|
-
process[stream].write(line);
|
|
16121
|
-
};
|
|
16122
|
-
return {
|
|
16123
|
-
error: (...a) => log222("error", "stderr", a),
|
|
16124
|
-
warn: (...a) => log222("warn", "stderr", a),
|
|
16125
|
-
info: (...a) => log222("info", "stdout", a),
|
|
16126
|
-
debug: (...a) => log222("debug", "stderr", a),
|
|
16127
|
-
setLevel: (l) => {
|
|
16128
|
-
currentLevel = l;
|
|
16122
|
+
var require_plugin = __commonJS2222({
|
|
16123
|
+
"dist/plugin.js"(exports$1222) {
|
|
16124
|
+
var TOKEN_ENGINE_KEY = "__TW_TOKEN_ENGINE__";
|
|
16125
|
+
function resolveTokenEngine() {
|
|
16126
|
+
if (typeof globalThis !== "undefined") {
|
|
16127
|
+
return globalThis[TOKEN_ENGINE_KEY];
|
|
16128
|
+
}
|
|
16129
|
+
return null;
|
|
16129
16130
|
}
|
|
16130
|
-
|
|
16131
|
-
|
|
16132
|
-
|
|
16133
|
-
|
|
16134
|
-
|
|
16135
|
-
|
|
16136
|
-
|
|
16137
|
-
|
|
16138
|
-
|
|
16139
|
-
|
|
16140
|
-
|
|
16141
|
-
|
|
16142
|
-
|
|
16143
|
-
|
|
16131
|
+
function readToken(engine, name) {
|
|
16132
|
+
if (!engine) return void 0;
|
|
16133
|
+
if (typeof engine.getToken === "function") return engine.getToken(name);
|
|
16134
|
+
if (typeof engine.getTokens === "function") {
|
|
16135
|
+
const tokens = engine.getTokens();
|
|
16136
|
+
return tokens?.[name];
|
|
16137
|
+
}
|
|
16138
|
+
return void 0;
|
|
16139
|
+
}
|
|
16140
|
+
function createTwPlugin(options = {}) {
|
|
16141
|
+
return {
|
|
16142
|
+
async resolveId(source, importer) {
|
|
16143
|
+
if (!source.startsWith("tw.") && !source.startsWith("tw:")) return null;
|
|
16144
|
+
const importPath = source.replace(/^tw[.:]/, "");
|
|
16145
|
+
const resolved = await this.resolve(importPath, importer, { skipSelf: true });
|
|
16146
|
+
if (resolved) return { id: resolved.id };
|
|
16147
|
+
return null;
|
|
16148
|
+
},
|
|
16149
|
+
async load(id) {
|
|
16150
|
+
return null;
|
|
16151
|
+
},
|
|
16152
|
+
async transform(code, id) {
|
|
16153
|
+
return null;
|
|
16154
|
+
},
|
|
16155
|
+
getToken(name) {
|
|
16156
|
+
const engine = resolveTokenEngine();
|
|
16157
|
+
return readToken(engine, name);
|
|
16158
|
+
},
|
|
16159
|
+
subscribeTokens(callback) {
|
|
16160
|
+
const engine = resolveTokenEngine();
|
|
16161
|
+
if (!engine) return () => {
|
|
16162
|
+
};
|
|
16163
|
+
if (typeof engine.subscribeTokens === "function") return engine.subscribeTokens(callback);
|
|
16164
|
+
if (typeof engine.subscribe === "function") return engine.subscribe(callback);
|
|
16165
|
+
return () => {
|
|
16166
|
+
};
|
|
16167
|
+
}
|
|
16168
|
+
};
|
|
16169
|
+
}
|
|
16170
|
+
var globalRegistry = {
|
|
16171
|
+
transforms: [],
|
|
16172
|
+
tokens: {}
|
|
16173
|
+
};
|
|
16174
|
+
function getGlobalRegistry2() {
|
|
16175
|
+
return globalRegistry;
|
|
16176
|
+
}
|
|
16177
|
+
function registerTransform(transform) {
|
|
16178
|
+
globalRegistry.transforms.push(transform);
|
|
16179
|
+
}
|
|
16180
|
+
function registerToken(name, value) {
|
|
16181
|
+
globalRegistry.tokens[name] = value;
|
|
16182
|
+
}
|
|
16183
|
+
function createRegistry() {
|
|
16184
|
+
return {
|
|
16185
|
+
variants: /* @__PURE__ */ new Map(),
|
|
16186
|
+
utilities: /* @__PURE__ */ new Map(),
|
|
16187
|
+
tokens: /* @__PURE__ */ new Map(),
|
|
16188
|
+
transforms: [],
|
|
16189
|
+
cssHooks: [],
|
|
16190
|
+
buildHooks: [],
|
|
16191
|
+
plugins: /* @__PURE__ */ new Set()
|
|
16192
|
+
};
|
|
16193
|
+
}
|
|
16194
|
+
var _globalRegistry = createRegistry();
|
|
16195
|
+
function resetGlobalRegistry() {
|
|
16196
|
+
_globalRegistry = createRegistry();
|
|
16197
|
+
}
|
|
16198
|
+
function createContext(registry, config = {}) {
|
|
16199
|
+
return {
|
|
16200
|
+
config,
|
|
16201
|
+
addVariant(name, resolver) {
|
|
16202
|
+
registry.variants.set(name, resolver);
|
|
16203
|
+
},
|
|
16204
|
+
addUtility(name, styles) {
|
|
16205
|
+
registry.utilities.set(name, styles);
|
|
16206
|
+
},
|
|
16207
|
+
addToken(name, value) {
|
|
16208
|
+
const normalized = name.replace(/[^a-zA-Z0-9-]/g, "-").toLowerCase();
|
|
16209
|
+
registry.tokens.set(normalized, value);
|
|
16210
|
+
},
|
|
16211
|
+
addTransform(fn) {
|
|
16212
|
+
registry.transforms.push(fn);
|
|
16213
|
+
},
|
|
16214
|
+
onGenerateCSS(hook) {
|
|
16215
|
+
registry.cssHooks.push(hook);
|
|
16216
|
+
},
|
|
16217
|
+
onBuildEnd(hook) {
|
|
16218
|
+
registry.buildHooks.push(hook);
|
|
16219
|
+
},
|
|
16220
|
+
getToken(name) {
|
|
16221
|
+
return readToken(resolveTokenEngine(), name);
|
|
16222
|
+
},
|
|
16223
|
+
subscribeTokens(callback) {
|
|
16224
|
+
const engine = resolveTokenEngine();
|
|
16225
|
+
if (!engine) return () => {
|
|
16226
|
+
};
|
|
16227
|
+
if (typeof engine.subscribeTokens === "function") return engine.subscribeTokens(callback);
|
|
16228
|
+
if (typeof engine.subscribe === "function") return engine.subscribe(callback);
|
|
16229
|
+
return () => {
|
|
16230
|
+
};
|
|
16231
|
+
}
|
|
16232
|
+
};
|
|
16233
|
+
}
|
|
16234
|
+
function createTw(config = {}) {
|
|
16235
|
+
const registry = createRegistry();
|
|
16236
|
+
const ctx = createContext(registry, config);
|
|
16237
|
+
const result = ctx;
|
|
16238
|
+
result.registry = {
|
|
16239
|
+
plugins: registry.plugins,
|
|
16240
|
+
variants: registry.variants,
|
|
16241
|
+
utilities: registry.utilities,
|
|
16242
|
+
tokens: registry.tokens
|
|
16243
|
+
};
|
|
16244
|
+
result.use = (plugin) => {
|
|
16245
|
+
plugin.setup(ctx);
|
|
16246
|
+
registry.plugins.add(plugin.name);
|
|
16247
|
+
};
|
|
16248
|
+
if (config.plugins && Array.isArray(config.plugins)) {
|
|
16249
|
+
for (const plugin of config.plugins) {
|
|
16250
|
+
if (plugin && plugin.name) {
|
|
16251
|
+
result.use(plugin);
|
|
16252
|
+
}
|
|
16253
|
+
}
|
|
16254
|
+
}
|
|
16255
|
+
return result;
|
|
16256
|
+
}
|
|
16257
|
+
function use(plugin) {
|
|
16258
|
+
const ctx = createContext(_globalRegistry);
|
|
16259
|
+
plugin.setup(ctx);
|
|
16260
|
+
}
|
|
16261
|
+
function presetTokens(tokens) {
|
|
16262
|
+
return {
|
|
16263
|
+
name: "preset-tokens",
|
|
16264
|
+
setup(ctx) {
|
|
16265
|
+
for (const [name, value] of Object.entries(tokens)) {
|
|
16266
|
+
ctx.addToken(name, value);
|
|
16267
|
+
}
|
|
16268
|
+
}
|
|
16269
|
+
};
|
|
16270
|
+
}
|
|
16271
|
+
function presetVariants(variants) {
|
|
16272
|
+
return {
|
|
16273
|
+
name: "preset-variants",
|
|
16274
|
+
setup(ctx) {
|
|
16275
|
+
for (const [name, resolver] of Object.entries(variants)) {
|
|
16276
|
+
ctx.addVariant(name, resolver);
|
|
16277
|
+
}
|
|
16278
|
+
}
|
|
16279
|
+
};
|
|
16280
|
+
}
|
|
16281
|
+
function presetScrollbar() {
|
|
16282
|
+
return {
|
|
16283
|
+
name: "preset-scrollbar",
|
|
16284
|
+
setup(ctx) {
|
|
16285
|
+
ctx.addVariant("scrollbar-thin", () => "::-webkit-scrollbar{width:8px;height:8px}");
|
|
16286
|
+
ctx.addVariant("scrollbar-none", () => "::-webkit-scrollbar{display:none}");
|
|
16287
|
+
ctx.addUtility("scrollbar-hide", { "-ms-overflow-style": "none", "scrollbar-width": "none" });
|
|
16288
|
+
}
|
|
16289
|
+
};
|
|
16290
|
+
}
|
|
16291
|
+
exports$1222.createTw = createTw;
|
|
16292
|
+
exports$1222.createTwPlugin = createTwPlugin;
|
|
16293
|
+
exports$1222.getGlobalRegistry = getGlobalRegistry2;
|
|
16294
|
+
exports$1222.presetScrollbar = presetScrollbar;
|
|
16295
|
+
exports$1222.presetTokens = presetTokens;
|
|
16296
|
+
exports$1222.presetVariants = presetVariants;
|
|
16297
|
+
exports$1222.registerToken = registerToken;
|
|
16298
|
+
exports$1222.registerTransform = registerTransform;
|
|
16299
|
+
exports$1222.resetGlobalRegistry = resetGlobalRegistry;
|
|
16300
|
+
exports$1222.use = use;
|
|
16144
16301
|
}
|
|
16145
16302
|
});
|
|
16146
|
-
var
|
|
16147
|
-
"
|
|
16148
|
-
|
|
16149
|
-
|
|
16303
|
+
var require_shared222 = __commonJS2222({
|
|
16304
|
+
"dist/shared.js"(exports$1222) {
|
|
16305
|
+
var fs5 = __require2222("fs");
|
|
16306
|
+
var module$1222 = __require2222("module");
|
|
16307
|
+
var os = __require2222("os");
|
|
16308
|
+
var path9 = __require2222("path");
|
|
16309
|
+
var url2222 = __require2222("url");
|
|
16310
|
+
var crypto2 = __require2222("crypto");
|
|
16311
|
+
function _interopDefault2222(e) {
|
|
16312
|
+
return e && e.__esModule ? e : { default: e };
|
|
16313
|
+
}
|
|
16314
|
+
var fs__default22 = /* @__PURE__ */ _interopDefault2222(fs5);
|
|
16315
|
+
var os__default = /* @__PURE__ */ _interopDefault2222(os);
|
|
16316
|
+
var path__default2 = /* @__PURE__ */ _interopDefault2222(path9);
|
|
16317
|
+
var LRUCache = class {
|
|
16318
|
+
constructor(max = 256, ttlMs = null) {
|
|
16319
|
+
this.map = /* @__PURE__ */ new Map();
|
|
16320
|
+
this.max = max;
|
|
16321
|
+
this.ttlMs = ttlMs;
|
|
16322
|
+
}
|
|
16323
|
+
get(key) {
|
|
16324
|
+
const entry = this.map.get(key);
|
|
16325
|
+
if (!entry) return void 0;
|
|
16326
|
+
if (this.ttlMs !== null && Date.now() - entry.ts > this.ttlMs) {
|
|
16327
|
+
this.map.delete(key);
|
|
16328
|
+
return void 0;
|
|
16329
|
+
}
|
|
16330
|
+
this.map.delete(key);
|
|
16331
|
+
this.map.set(key, entry);
|
|
16332
|
+
return entry.value;
|
|
16333
|
+
}
|
|
16334
|
+
set(key, value) {
|
|
16335
|
+
if (this.map.has(key)) this.map.delete(key);
|
|
16336
|
+
else if (this.map.size >= this.max) {
|
|
16337
|
+
this.map.delete(this.map.keys().next().value);
|
|
16338
|
+
}
|
|
16339
|
+
this.map.set(key, { value, ts: Date.now() });
|
|
16340
|
+
}
|
|
16341
|
+
has(key) {
|
|
16342
|
+
return this.get(key) !== void 0;
|
|
16343
|
+
}
|
|
16344
|
+
delete(key) {
|
|
16345
|
+
this.map.delete(key);
|
|
16346
|
+
}
|
|
16347
|
+
clear() {
|
|
16348
|
+
this.map.clear();
|
|
16349
|
+
}
|
|
16350
|
+
get size() {
|
|
16351
|
+
return this.map.size;
|
|
16352
|
+
}
|
|
16353
|
+
keys() {
|
|
16354
|
+
return this.map.keys();
|
|
16355
|
+
}
|
|
16356
|
+
*values() {
|
|
16357
|
+
for (const entry of this.map.values()) {
|
|
16358
|
+
yield entry.value;
|
|
16359
|
+
}
|
|
16360
|
+
}
|
|
16361
|
+
*entries() {
|
|
16362
|
+
for (const [key, entry] of this.map.entries()) {
|
|
16363
|
+
yield [key, entry.value];
|
|
16364
|
+
}
|
|
16365
|
+
}
|
|
16366
|
+
};
|
|
16367
|
+
function getPlatformExtension() {
|
|
16368
|
+
const platform = os__default.default.platform();
|
|
16369
|
+
switch (platform) {
|
|
16370
|
+
case "win32":
|
|
16371
|
+
return ".node";
|
|
16372
|
+
case "darwin":
|
|
16373
|
+
return ".dylib";
|
|
16374
|
+
case "linux":
|
|
16375
|
+
return ".so";
|
|
16376
|
+
default:
|
|
16377
|
+
return ".node";
|
|
16378
|
+
}
|
|
16379
|
+
}
|
|
16380
|
+
function formatErrorMessage2(error) {
|
|
16381
|
+
return error instanceof Error ? error.message : String(error);
|
|
16382
|
+
}
|
|
16383
|
+
function resolveRuntimeDir2(dirnameValue, moduleImportUrl) {
|
|
16384
|
+
if (typeof dirnameValue === "string" && dirnameValue.length > 0) return dirnameValue;
|
|
16385
|
+
return path__default2.default.dirname(url2222.fileURLToPath(moduleImportUrl));
|
|
16386
|
+
}
|
|
16387
|
+
function resolveNativeBindingCandidates2(options) {
|
|
16388
|
+
const out = [];
|
|
16389
|
+
const envVarNames = options.envVarNames ?? ["TWS_NATIVE_PATH"];
|
|
16390
|
+
for (const envVarName of envVarNames) {
|
|
16391
|
+
const raw = process.env[envVarName]?.trim();
|
|
16392
|
+
if (!raw) continue;
|
|
16393
|
+
const resolved = path__default2.default.resolve(raw);
|
|
16394
|
+
if (options.enforceNodeExtensionForEnvPath) {
|
|
16395
|
+
if (path__default2.default.extname(resolved).toLowerCase() !== ".node") {
|
|
16396
|
+
throw new Error(
|
|
16397
|
+
`Invalid native binding path from ${envVarName}="${raw}". Expected a .node file.`
|
|
16398
|
+
);
|
|
16399
|
+
}
|
|
16400
|
+
}
|
|
16401
|
+
out.push(resolved);
|
|
16402
|
+
}
|
|
16403
|
+
if (options.includeDefaultCandidates !== false) {
|
|
16404
|
+
const ext = options.platformExtension ?? getPlatformExtension();
|
|
16405
|
+
const defaultBindingName = `tailwind_styled_parser${ext}`;
|
|
16406
|
+
out.push(path__default2.default.resolve(process.cwd(), "native", defaultBindingName));
|
|
16407
|
+
out.push(path__default2.default.resolve(options.runtimeDir, "..", "..", "..", "native", defaultBindingName));
|
|
16408
|
+
}
|
|
16409
|
+
return Array.from(new Set(out));
|
|
16410
|
+
}
|
|
16411
|
+
function parseDebugToken(namespace, token) {
|
|
16412
|
+
if (token === "*" || token === namespace || token === "tailwind-styled:*") return true;
|
|
16413
|
+
return token.endsWith("*") && namespace.startsWith(token.slice(0, -1));
|
|
16414
|
+
}
|
|
16415
|
+
function isDebugNamespaceEnabled(namespace) {
|
|
16416
|
+
if (process.env.TWS_DEBUG === "1" || process.env.TAILWIND_STYLED_DEBUG === "1") return true;
|
|
16417
|
+
const raw = process.env.DEBUG;
|
|
16418
|
+
if (!raw) return false;
|
|
16419
|
+
return raw.split(",").map((token) => token.trim()).some((token) => parseDebugToken(namespace, token));
|
|
16420
|
+
}
|
|
16421
|
+
function createDebugLogger2(namespace, label = namespace) {
|
|
16422
|
+
const debugEnabled = isDebugNamespaceEnabled(namespace);
|
|
16423
|
+
return (message) => {
|
|
16424
|
+
if (!debugEnabled) return;
|
|
16425
|
+
console.debug(`[${label}] ${message}`);
|
|
16426
|
+
};
|
|
16427
|
+
}
|
|
16428
|
+
function loadNativeBinding2(options) {
|
|
16429
|
+
const req = module$1222.createRequire(path__default2.default.join(options.runtimeDir, "noop.cjs"));
|
|
16430
|
+
const loadErrors2 = [];
|
|
16431
|
+
for (const candidate of options.candidates) {
|
|
16432
|
+
if (!fs__default22.default.existsSync(candidate)) continue;
|
|
16433
|
+
try {
|
|
16434
|
+
const mod = req(candidate);
|
|
16435
|
+
if (options.isValid(mod)) {
|
|
16436
|
+
return {
|
|
16437
|
+
binding: mod,
|
|
16438
|
+
loadedPath: candidate,
|
|
16439
|
+
loadErrors: loadErrors2
|
|
16440
|
+
};
|
|
16441
|
+
}
|
|
16442
|
+
loadErrors2.push({
|
|
16443
|
+
path: candidate,
|
|
16444
|
+
message: options.invalidExportMessage
|
|
16445
|
+
});
|
|
16446
|
+
} catch (error) {
|
|
16447
|
+
loadErrors2.push({
|
|
16448
|
+
path: candidate,
|
|
16449
|
+
message: formatErrorMessage2(error)
|
|
16450
|
+
});
|
|
16451
|
+
}
|
|
16452
|
+
}
|
|
16453
|
+
return {
|
|
16454
|
+
binding: null,
|
|
16455
|
+
loadedPath: null,
|
|
16456
|
+
loadErrors: loadErrors2
|
|
16457
|
+
};
|
|
16458
|
+
}
|
|
16459
|
+
var LEVELS = { silent: 0, error: 1, warn: 2, info: 3, debug: 4 };
|
|
16460
|
+
function getEnvLevel() {
|
|
16461
|
+
const env = process.env.TWS_LOG_LEVEL?.toLowerCase();
|
|
16462
|
+
if (env && env in LEVELS) return env;
|
|
16463
|
+
return process.env.TWS_DEBUG_SCANNER === "1" ? "debug" : "info";
|
|
16464
|
+
}
|
|
16465
|
+
function createLogger22(prefix, level) {
|
|
16466
|
+
let currentLevel = level ?? getEnvLevel();
|
|
16467
|
+
const log222 = (msgLevel, stream, args) => {
|
|
16468
|
+
if (LEVELS[msgLevel] > LEVELS[currentLevel]) return;
|
|
16469
|
+
const line = `[${prefix}] ${args.map(String).join(" ")}
|
|
16470
|
+
`;
|
|
16471
|
+
process[stream].write(line);
|
|
16472
|
+
};
|
|
16473
|
+
return {
|
|
16474
|
+
error: (...a) => log222("error", "stderr", a),
|
|
16475
|
+
warn: (...a) => log222("warn", "stderr", a),
|
|
16476
|
+
info: (...a) => log222("info", "stdout", a),
|
|
16477
|
+
debug: (...a) => log222("debug", "stderr", a),
|
|
16478
|
+
setLevel: (l) => {
|
|
16479
|
+
currentLevel = l;
|
|
16480
|
+
}
|
|
16481
|
+
};
|
|
16482
|
+
}
|
|
16483
|
+
var logger = createLogger22("tailwind-styled");
|
|
16484
|
+
function hashContent2(content, algorithm = "md5", length = 8) {
|
|
16485
|
+
return crypto2.createHash(algorithm).update(content).digest("hex").slice(0, length);
|
|
16486
|
+
}
|
|
16487
|
+
function hashFile(filePath, algorithm = "md5", length = 8) {
|
|
16488
|
+
try {
|
|
16489
|
+
const content = fs__default22.default.readFileSync(filePath, "utf8");
|
|
16490
|
+
return hashContent2(content, algorithm, length);
|
|
16491
|
+
} catch {
|
|
16492
|
+
return "00000000";
|
|
16493
|
+
}
|
|
16494
|
+
}
|
|
16495
|
+
function debounce(fn, ms) {
|
|
16496
|
+
let timer = null;
|
|
16497
|
+
return ((...args) => {
|
|
16498
|
+
if (timer) clearTimeout(timer);
|
|
16499
|
+
timer = setTimeout(() => {
|
|
16500
|
+
timer = null;
|
|
16501
|
+
fn(...args);
|
|
16502
|
+
}, ms);
|
|
16503
|
+
});
|
|
16504
|
+
}
|
|
16505
|
+
function throttle(fn, ms) {
|
|
16506
|
+
let last = 0;
|
|
16507
|
+
return ((...args) => {
|
|
16508
|
+
const now = Date.now();
|
|
16509
|
+
if (now - last >= ms) {
|
|
16510
|
+
last = now;
|
|
16511
|
+
fn(...args);
|
|
16512
|
+
}
|
|
16513
|
+
});
|
|
16514
|
+
}
|
|
16515
|
+
function parseVersion(v) {
|
|
16516
|
+
const parts = v.replace(/^v/, "").split(".").map((p) => {
|
|
16517
|
+
const n = Number(p);
|
|
16518
|
+
return Number.isNaN(n) ? 0 : n;
|
|
16519
|
+
});
|
|
16520
|
+
const [major = 0, minor = 0, patch = 0] = parts;
|
|
16521
|
+
return { major, minor, patch };
|
|
16522
|
+
}
|
|
16523
|
+
function satisfiesMinVersion(version, minVersion) {
|
|
16524
|
+
const v = parseVersion(version);
|
|
16525
|
+
const min = parseVersion(minVersion);
|
|
16526
|
+
if (v.major !== min.major) return v.major > min.major;
|
|
16527
|
+
if (v.minor !== min.minor) return v.minor > min.minor;
|
|
16528
|
+
return v.patch >= min.patch;
|
|
16529
|
+
}
|
|
16530
|
+
exports$1222.LRUCache = LRUCache;
|
|
16531
|
+
exports$1222.createDebugLogger = createDebugLogger2;
|
|
16532
|
+
exports$1222.createLogger = createLogger22;
|
|
16533
|
+
exports$1222.debounce = debounce;
|
|
16534
|
+
exports$1222.formatErrorMessage = formatErrorMessage2;
|
|
16535
|
+
exports$1222.hashContent = hashContent2;
|
|
16536
|
+
exports$1222.hashFile = hashFile;
|
|
16537
|
+
exports$1222.isDebugNamespaceEnabled = isDebugNamespaceEnabled;
|
|
16538
|
+
exports$1222.loadNativeBinding = loadNativeBinding2;
|
|
16539
|
+
exports$1222.logger = logger;
|
|
16540
|
+
exports$1222.parseVersion = parseVersion;
|
|
16541
|
+
exports$1222.resolveNativeBindingCandidates = resolveNativeBindingCandidates2;
|
|
16542
|
+
exports$1222.resolveRuntimeDir = resolveRuntimeDir2;
|
|
16543
|
+
exports$1222.satisfiesMinVersion = satisfiesMinVersion;
|
|
16544
|
+
exports$1222.throttle = throttle;
|
|
16150
16545
|
}
|
|
16151
16546
|
});
|
|
16152
16547
|
var nativeBridge_exports = {};
|
|
@@ -16249,6 +16644,7 @@ Or install a prebuilt binary for your platform.`
|
|
|
16249
16644
|
metadata
|
|
16250
16645
|
};
|
|
16251
16646
|
}
|
|
16647
|
+
var import_shared222;
|
|
16252
16648
|
var getDirname2;
|
|
16253
16649
|
var runtimeDir;
|
|
16254
16650
|
var requireFromRuntime;
|
|
@@ -16256,7 +16652,7 @@ Or install a prebuilt binary for your platform.`
|
|
|
16256
16652
|
var log22;
|
|
16257
16653
|
var init_nativeBridge = __esm2({
|
|
16258
16654
|
"packages/compiler/src/nativeBridge.ts"() {
|
|
16259
|
-
|
|
16655
|
+
import_shared222 = __toESM2222(require_shared222());
|
|
16260
16656
|
getDirname2 = () => {
|
|
16261
16657
|
if (typeof __dirname !== "undefined") {
|
|
16262
16658
|
return __dirname;
|
|
@@ -16268,7 +16664,7 @@ Or install a prebuilt binary for your platform.`
|
|
|
16268
16664
|
};
|
|
16269
16665
|
runtimeDir = getDirname2();
|
|
16270
16666
|
requireFromRuntime = typeof module2 !== "undefined" && typeof module2.require === "function" ? module2.require.bind(module2) : module$122.createRequire(path7__default.default.join(runtimeDir, "noop.cjs"));
|
|
16271
|
-
log22 =
|
|
16667
|
+
log22 = (0, import_shared222.createLogger)("compiler:native");
|
|
16272
16668
|
}
|
|
16273
16669
|
});
|
|
16274
16670
|
function requireNative() {
|
|
@@ -17993,13 +18389,7 @@ body {
|
|
|
17993
18389
|
`;
|
|
17994
18390
|
}
|
|
17995
18391
|
});
|
|
17996
|
-
var
|
|
17997
|
-
transforms: [],
|
|
17998
|
-
tokens: {}
|
|
17999
|
-
};
|
|
18000
|
-
function getGlobalRegistry() {
|
|
18001
|
-
return globalRegistry;
|
|
18002
|
-
}
|
|
18392
|
+
var import_plugin = __toESM2222(require_plugin());
|
|
18003
18393
|
function mergeClassesStatic2(classes) {
|
|
18004
18394
|
return tailwindMerge.twMerge(classes);
|
|
18005
18395
|
}
|
|
@@ -18738,7 +19128,7 @@ ${subAssignments}
|
|
|
18738
19128
|
compoundVariants: compounds,
|
|
18739
19129
|
defaultVariants: defaults
|
|
18740
19130
|
};
|
|
18741
|
-
const registry = getGlobalRegistry();
|
|
19131
|
+
const registry = (0, import_plugin.getGlobalRegistry)();
|
|
18742
19132
|
if (registry.transforms.length > 0) {
|
|
18743
19133
|
const componentName = `Tw${tag}`;
|
|
18744
19134
|
for (const transform of registry.transforms) {
|
|
@@ -18918,8 +19308,8 @@ Please ensure the native module is properly built.`
|
|
|
18918
19308
|
function scanFiles(dir) {
|
|
18919
19309
|
const files = [];
|
|
18920
19310
|
function walk(current) {
|
|
18921
|
-
if (!
|
|
18922
|
-
const entries =
|
|
19311
|
+
if (!fs2__default2.default.existsSync(current)) return;
|
|
19312
|
+
const entries = fs2__default2.default.readdirSync(current, { withFileTypes: true });
|
|
18923
19313
|
for (const entry of entries) {
|
|
18924
19314
|
if (SKIP_DIRS.has(entry.name)) continue;
|
|
18925
19315
|
const fullPath = path7__default.default.join(current, entry.name);
|
|
@@ -18940,7 +19330,7 @@ Please ensure the native module is properly built.`
|
|
|
18940
19330
|
const files = scanFiles(absDir);
|
|
18941
19331
|
for (const file of files) {
|
|
18942
19332
|
try {
|
|
18943
|
-
const source =
|
|
19333
|
+
const source = fs2__default2.default.readFileSync(file, "utf-8");
|
|
18944
19334
|
const usage = extractComponentUsage(source);
|
|
18945
19335
|
for (const [comp, props] of Object.entries(usage)) {
|
|
18946
19336
|
if (!combined[comp]) combined[comp] = {};
|
|
@@ -19079,19 +19469,19 @@ Please ensure the native module is properly built.`
|
|
|
19079
19469
|
}
|
|
19080
19470
|
return { css, report };
|
|
19081
19471
|
}
|
|
19082
|
-
|
|
19472
|
+
var import_shared2222 = __toESM2222(require_shared222());
|
|
19083
19473
|
var CACHE_DIR = ".tw-cache";
|
|
19084
19474
|
var HASH_CACHE_FILE = path7__default.default.join(CACHE_DIR, "file-hashes.json");
|
|
19085
19475
|
var GRAPH_CACHE_FILE = path7__default.default.join(CACHE_DIR, "dep-graph.json");
|
|
19086
19476
|
function ensureCacheDir() {
|
|
19087
|
-
if (!
|
|
19088
|
-
|
|
19477
|
+
if (!fs2__default2.default.existsSync(CACHE_DIR)) {
|
|
19478
|
+
fs2__default2.default.mkdirSync(CACHE_DIR, { recursive: true });
|
|
19089
19479
|
}
|
|
19090
19480
|
}
|
|
19091
19481
|
function loadHashCache() {
|
|
19092
19482
|
try {
|
|
19093
|
-
if (
|
|
19094
|
-
const raw =
|
|
19483
|
+
if (fs2__default2.default.existsSync(HASH_CACHE_FILE)) {
|
|
19484
|
+
const raw = fs2__default2.default.readFileSync(HASH_CACHE_FILE, "utf-8");
|
|
19095
19485
|
return new Map(Object.entries(JSON.parse(raw)));
|
|
19096
19486
|
}
|
|
19097
19487
|
} catch {
|
|
@@ -19102,14 +19492,14 @@ Please ensure the native module is properly built.`
|
|
|
19102
19492
|
try {
|
|
19103
19493
|
ensureCacheDir();
|
|
19104
19494
|
const obj = Object.fromEntries(cache);
|
|
19105
|
-
|
|
19495
|
+
fs2__default2.default.writeFileSync(HASH_CACHE_FILE, JSON.stringify(obj, null, 2));
|
|
19106
19496
|
} catch {
|
|
19107
19497
|
}
|
|
19108
19498
|
}
|
|
19109
19499
|
function loadGraphCache() {
|
|
19110
19500
|
try {
|
|
19111
|
-
if (
|
|
19112
|
-
const raw =
|
|
19501
|
+
if (fs2__default2.default.existsSync(GRAPH_CACHE_FILE)) {
|
|
19502
|
+
const raw = fs2__default2.default.readFileSync(GRAPH_CACHE_FILE, "utf-8");
|
|
19113
19503
|
const data = JSON.parse(raw);
|
|
19114
19504
|
return new Map(Object.entries(data));
|
|
19115
19505
|
}
|
|
@@ -19121,7 +19511,7 @@ Please ensure the native module is properly built.`
|
|
|
19121
19511
|
try {
|
|
19122
19512
|
ensureCacheDir();
|
|
19123
19513
|
const obj = Object.fromEntries(graph);
|
|
19124
|
-
|
|
19514
|
+
fs2__default2.default.writeFileSync(GRAPH_CACHE_FILE, JSON.stringify(obj, null, 2));
|
|
19125
19515
|
} catch {
|
|
19126
19516
|
}
|
|
19127
19517
|
}
|
|
@@ -19144,7 +19534,7 @@ Please ensure the native module is properly built.`
|
|
|
19144
19534
|
return result;
|
|
19145
19535
|
}
|
|
19146
19536
|
function hashFileContent(content) {
|
|
19147
|
-
return hashContent(content, "md5", 8);
|
|
19537
|
+
return (0, import_shared2222.hashContent)(content, "md5", 8);
|
|
19148
19538
|
}
|
|
19149
19539
|
function makeAtomicClass(declaration, modifier) {
|
|
19150
19540
|
const key = modifier ? `${declaration}::${modifier}` : declaration;
|
|
@@ -19226,8 +19616,8 @@ Please ensure the native module is properly built.`
|
|
|
19226
19616
|
}
|
|
19227
19617
|
loadFromDisk() {
|
|
19228
19618
|
try {
|
|
19229
|
-
if (
|
|
19230
|
-
const css =
|
|
19619
|
+
if (fs2__default2.default.existsSync(this.outputPath)) {
|
|
19620
|
+
const css = fs2__default2.default.readFileSync(this.outputPath, "utf-8");
|
|
19231
19621
|
const ruleRe = /(\.tw-[a-z0-9]+(?::[\w-]+)?)\{([^}]+)\}|(@[^{]+)\{(\.tw-[a-z0-9]+)\{([^}]+)\}\}/g;
|
|
19232
19622
|
let m;
|
|
19233
19623
|
while ((m = ruleRe.exec(css)) !== null) {
|
|
@@ -19257,7 +19647,7 @@ Please ensure the native module is properly built.`
|
|
|
19257
19647
|
try {
|
|
19258
19648
|
ensureCacheDir();
|
|
19259
19649
|
const css = Array.from(this.ruleMap.values()).join("\n");
|
|
19260
|
-
await
|
|
19650
|
+
await fs2__default2.default.promises.writeFile(this.outputPath, css, "utf-8");
|
|
19261
19651
|
this.dirty = false;
|
|
19262
19652
|
} catch {
|
|
19263
19653
|
}
|
|
@@ -19268,7 +19658,7 @@ Please ensure the native module is properly built.`
|
|
|
19268
19658
|
try {
|
|
19269
19659
|
ensureCacheDir();
|
|
19270
19660
|
const css = Array.from(this.ruleMap.values()).join("\n");
|
|
19271
|
-
|
|
19661
|
+
fs2__default2.default.writeFileSync(this.outputPath, css, "utf-8");
|
|
19272
19662
|
this.dirty = false;
|
|
19273
19663
|
} catch {
|
|
19274
19664
|
}
|
|
@@ -20225,7 +20615,7 @@ The native binding is required for all transformations.`
|
|
|
20225
20615
|
_cachedCwd = cwd;
|
|
20226
20616
|
for (const file of CONFIG_FILES) {
|
|
20227
20617
|
const fullPath = path7__default.default.join(cwd, file);
|
|
20228
|
-
if (
|
|
20618
|
+
if (fs2__default2.default.existsSync(fullPath)) {
|
|
20229
20619
|
try {
|
|
20230
20620
|
const mod = __require2222(fullPath);
|
|
20231
20621
|
const config = mod.default ?? mod;
|
|
@@ -20253,14 +20643,14 @@ The native binding is required for all transformations.`
|
|
|
20253
20643
|
if (config.content?.files) {
|
|
20254
20644
|
return config.content.files.filter((f) => typeof f === "string");
|
|
20255
20645
|
}
|
|
20256
|
-
return ["src", "app", "pages", "components"].filter((d) =>
|
|
20646
|
+
return ["src", "app", "pages", "components"].filter((d) => fs2__default2.default.existsSync(path7__default.default.join(cwd, d))).map((d) => `./${d}/**/*.{tsx,ts,jsx,js}`);
|
|
20257
20647
|
}
|
|
20258
20648
|
function invalidateConfigCache() {
|
|
20259
20649
|
_cachedConfig = null;
|
|
20260
20650
|
_cachedCwd = "";
|
|
20261
20651
|
}
|
|
20262
20652
|
function isZeroConfig(cwd = process.cwd()) {
|
|
20263
|
-
return !CONFIG_FILES.some((f) =>
|
|
20653
|
+
return !CONFIG_FILES.some((f) => fs2__default2.default.existsSync(path7__default.default.join(cwd, f)));
|
|
20264
20654
|
}
|
|
20265
20655
|
function bootstrapZeroConfig(cwd = process.cwd()) {
|
|
20266
20656
|
let generatedConfig = false;
|
|
@@ -20272,13 +20662,13 @@ The native binding is required for all transformations.`
|
|
|
20272
20662
|
"src/index.css",
|
|
20273
20663
|
"src/styles/globals.css"
|
|
20274
20664
|
];
|
|
20275
|
-
const hasGlobalCss = cssPaths.some((p) =>
|
|
20665
|
+
const hasGlobalCss = cssPaths.some((p) => fs2__default2.default.existsSync(path7__default.default.join(cwd, p)));
|
|
20276
20666
|
if (!hasGlobalCss) {
|
|
20277
20667
|
const { defaultGlobalCss: defaultGlobalCss2 } = (init_defaultPreset(), __toCommonJS2(defaultPreset_exports));
|
|
20278
|
-
const appDir =
|
|
20668
|
+
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";
|
|
20279
20669
|
const cssPath = path7__default.default.join(cwd, appDir, "globals.css");
|
|
20280
|
-
if (
|
|
20281
|
-
|
|
20670
|
+
if (fs2__default2.default.existsSync(path7__default.default.dirname(cssPath))) {
|
|
20671
|
+
fs2__default2.default.writeFileSync(cssPath, defaultGlobalCss2);
|
|
20282
20672
|
generatedCss = true;
|
|
20283
20673
|
console.log(`[tailwind-styled-v4] Generated ${cssPath}`);
|
|
20284
20674
|
}
|
|
@@ -20351,8 +20741,8 @@ Please build the native module.`
|
|
|
20351
20741
|
}
|
|
20352
20742
|
var SCAN_EXTENSIONS2 = [".tsx", ".ts", ".jsx", ".js"];
|
|
20353
20743
|
function scanDir(dir, files = []) {
|
|
20354
|
-
if (!
|
|
20355
|
-
const entries =
|
|
20744
|
+
if (!fs2__default2.default.existsSync(dir)) return files;
|
|
20745
|
+
const entries = fs2__default2.default.readdirSync(dir, { withFileTypes: true });
|
|
20356
20746
|
for (const entry of entries) {
|
|
20357
20747
|
if (entry.name === "node_modules" || entry.name === ".next" || entry.name === "dist") continue;
|
|
20358
20748
|
const fullPath = path7__default.default.join(dir, entry.name);
|
|
@@ -20371,7 +20761,7 @@ Please build the native module.`
|
|
|
20371
20761
|
const files = scanDir(absDir);
|
|
20372
20762
|
for (const file of files) {
|
|
20373
20763
|
try {
|
|
20374
|
-
const source =
|
|
20764
|
+
const source = fs2__default2.default.readFileSync(file, "utf-8");
|
|
20375
20765
|
const classes = extractAllClasses2(source);
|
|
20376
20766
|
classes.forEach((c) => allClasses.add(c));
|
|
20377
20767
|
} catch {
|
|
@@ -20380,13 +20770,13 @@ Please build the native module.`
|
|
|
20380
20770
|
}
|
|
20381
20771
|
const sorted = Array.from(allClasses).sort();
|
|
20382
20772
|
const absOutput = path7__default.default.isAbsolute(outputPath) ? outputPath : path7__default.default.resolve(cwd, outputPath);
|
|
20383
|
-
|
|
20773
|
+
fs2__default2.default.writeFileSync(absOutput, JSON.stringify(sorted, null, 2));
|
|
20384
20774
|
console.log(`[tailwind-styled-v4] Safelist: ${sorted.length} classes \u2192 ${absOutput}`);
|
|
20385
20775
|
return sorted;
|
|
20386
20776
|
}
|
|
20387
20777
|
function loadSafelist(safelistPath) {
|
|
20388
20778
|
try {
|
|
20389
|
-
const content =
|
|
20779
|
+
const content = fs2__default2.default.readFileSync(safelistPath, "utf-8");
|
|
20390
20780
|
return JSON.parse(content);
|
|
20391
20781
|
} catch {
|
|
20392
20782
|
return [];
|
|
@@ -20399,7 +20789,7 @@ Please build the native module.`
|
|
|
20399
20789
|
const files = scanDir(absDir);
|
|
20400
20790
|
for (const file of files) {
|
|
20401
20791
|
try {
|
|
20402
|
-
const source =
|
|
20792
|
+
const source = fs2__default2.default.readFileSync(file, "utf-8");
|
|
20403
20793
|
const classes = extractAllClasses2(source);
|
|
20404
20794
|
classes.forEach((c) => allClasses.add(c));
|
|
20405
20795
|
} catch {
|
|
@@ -20408,13 +20798,13 @@ Please build the native module.`
|
|
|
20408
20798
|
}
|
|
20409
20799
|
const sorted = Array.from(allClasses).sort();
|
|
20410
20800
|
const absOutput = path7__default.default.isAbsolute(outputPath) ? outputPath : path7__default.default.resolve(cwd, outputPath);
|
|
20411
|
-
|
|
20801
|
+
fs2__default2.default.mkdirSync(path7__default.default.dirname(absOutput), { recursive: true });
|
|
20412
20802
|
const css = sorted.length > 0 ? `/* Auto-generated by tailwind-styled-v4 \u2014 DO NOT EDIT */
|
|
20413
20803
|
@source inline("${sorted.join(" ")}");
|
|
20414
20804
|
` : `/* Auto-generated by tailwind-styled-v4 \u2014 DO NOT EDIT */
|
|
20415
20805
|
/* No safelist classes found */
|
|
20416
20806
|
`;
|
|
20417
|
-
|
|
20807
|
+
fs2__default2.default.writeFileSync(absOutput, css);
|
|
20418
20808
|
console.log(`[tailwind-styled-v4] Safelist: ${sorted.length} classes \u2192 ${absOutput}`);
|
|
20419
20809
|
return sorted;
|
|
20420
20810
|
}
|
|
@@ -20522,13 +20912,13 @@ Please build the native module.`
|
|
|
20522
20912
|
}
|
|
20523
20913
|
}
|
|
20524
20914
|
if (outputDir) {
|
|
20525
|
-
const
|
|
20526
|
-
|
|
20915
|
+
const fs5 = __require2222("fs");
|
|
20916
|
+
fs5.mkdirSync(outputDir, { recursive: true });
|
|
20527
20917
|
for (const result of results) {
|
|
20528
20918
|
const filename = routeToFilename(result.route);
|
|
20529
20919
|
const filepath = path7__default.default.join(outputDir, filename);
|
|
20530
|
-
|
|
20531
|
-
|
|
20920
|
+
fs5.mkdirSync(path7__default.default.dirname(filepath), { recursive: true });
|
|
20921
|
+
fs5.writeFileSync(filepath, result.css);
|
|
20532
20922
|
}
|
|
20533
20923
|
const totalSize = results.reduce((sum, r) => sum + r.sizeBytes, 0);
|
|
20534
20924
|
console.log(
|