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.js
CHANGED
|
@@ -16077,21 +16077,23 @@ try {
|
|
|
16077
16077
|
var __toCommonJS = (mod) => __copyProps222(__defProp222({}, "__esModule", { value: true }), mod);
|
|
16078
16078
|
var require_compiler22 = __commonJS222({
|
|
16079
16079
|
"dist/compiler.js"(exports$122, module2) {
|
|
16080
|
-
var crypto = __require222("crypto");
|
|
16081
|
-
var fs322 = __require222("fs");
|
|
16082
16080
|
var module$122 = __require222("module");
|
|
16083
16081
|
var path7 = __require222("path");
|
|
16084
16082
|
var url222 = __require222("url");
|
|
16085
16083
|
var tailwindMerge = __require222("tailwind-merge");
|
|
16084
|
+
var fs22 = __require222("fs");
|
|
16085
|
+
var crypto = __require222("crypto");
|
|
16086
16086
|
var _documentCurrentScript22 = typeof document !== "undefined" ? document.currentScript : null;
|
|
16087
16087
|
function _interopDefault222(e) {
|
|
16088
16088
|
return e && e.__esModule ? e : { default: e };
|
|
16089
16089
|
}
|
|
16090
|
-
var fs3__default = /* @__PURE__ */ _interopDefault222(fs322);
|
|
16091
16090
|
var path7__default = /* @__PURE__ */ _interopDefault222(path7);
|
|
16091
|
+
var fs2__default2 = /* @__PURE__ */ _interopDefault222(fs22);
|
|
16092
|
+
var __create2222 = Object.create;
|
|
16092
16093
|
var __defProp2222 = Object.defineProperty;
|
|
16093
16094
|
var __getOwnPropDesc2222 = Object.getOwnPropertyDescriptor;
|
|
16094
16095
|
var __getOwnPropNames2222 = Object.getOwnPropertyNames;
|
|
16096
|
+
var __getProtoOf2222 = Object.getPrototypeOf;
|
|
16095
16097
|
var __hasOwnProp2222 = Object.prototype.hasOwnProperty;
|
|
16096
16098
|
var __require2222 = /* @__PURE__ */ ((x) => typeof __require222 !== "undefined" ? __require222 : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
16097
16099
|
get: (a, b) => (typeof __require222 !== "undefined" ? __require222 : a)[b]
|
|
@@ -16102,6 +16104,9 @@ try {
|
|
|
16102
16104
|
var __esm2 = (fn, res) => function __init() {
|
|
16103
16105
|
return fn && (res = (0, fn[__getOwnPropNames2222(fn)[0]])(fn = 0)), res;
|
|
16104
16106
|
};
|
|
16107
|
+
var __commonJS2222 = (cb, mod) => function __require22222() {
|
|
16108
|
+
return mod || (0, cb[__getOwnPropNames2222(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
16109
|
+
};
|
|
16105
16110
|
var __export2 = (target, all) => {
|
|
16106
16111
|
for (var name in all)
|
|
16107
16112
|
__defProp2222(target, name, { get: all[name], enumerable: true });
|
|
@@ -16114,48 +16119,438 @@ try {
|
|
|
16114
16119
|
}
|
|
16115
16120
|
return to;
|
|
16116
16121
|
};
|
|
16122
|
+
var __toESM2222 = (mod, isNodeMode, target) => (target = mod != null ? __create2222(__getProtoOf2222(mod)) : {}, __copyProps2222(
|
|
16123
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
16124
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
16125
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
16126
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
16127
|
+
__defProp2222(target, "default", { value: mod, enumerable: true }),
|
|
16128
|
+
mod
|
|
16129
|
+
));
|
|
16117
16130
|
var __toCommonJS2 = (mod) => __copyProps2222(__defProp2222({}, "__esModule", { value: true }), mod);
|
|
16118
|
-
|
|
16119
|
-
|
|
16120
|
-
|
|
16121
|
-
|
|
16122
|
-
|
|
16123
|
-
|
|
16124
|
-
|
|
16125
|
-
|
|
16126
|
-
if (LEVELS[msgLevel] > LEVELS[currentLevel]) return;
|
|
16127
|
-
const line = `[${prefix}] ${args.map(String).join(" ")}
|
|
16128
|
-
`;
|
|
16129
|
-
process[stream].write(line);
|
|
16130
|
-
};
|
|
16131
|
-
return {
|
|
16132
|
-
error: (...a) => log222("error", "stderr", a),
|
|
16133
|
-
warn: (...a) => log222("warn", "stderr", a),
|
|
16134
|
-
info: (...a) => log222("info", "stdout", a),
|
|
16135
|
-
debug: (...a) => log222("debug", "stderr", a),
|
|
16136
|
-
setLevel: (l) => {
|
|
16137
|
-
currentLevel = l;
|
|
16131
|
+
var require_plugin = __commonJS2222({
|
|
16132
|
+
"dist/plugin.js"(exports$1222) {
|
|
16133
|
+
var TOKEN_ENGINE_KEY = "__TW_TOKEN_ENGINE__";
|
|
16134
|
+
function resolveTokenEngine() {
|
|
16135
|
+
if (typeof globalThis !== "undefined") {
|
|
16136
|
+
return globalThis[TOKEN_ENGINE_KEY];
|
|
16137
|
+
}
|
|
16138
|
+
return null;
|
|
16138
16139
|
}
|
|
16139
|
-
|
|
16140
|
-
|
|
16141
|
-
|
|
16142
|
-
|
|
16143
|
-
|
|
16144
|
-
|
|
16145
|
-
|
|
16146
|
-
|
|
16147
|
-
|
|
16148
|
-
|
|
16149
|
-
|
|
16150
|
-
|
|
16151
|
-
|
|
16152
|
-
|
|
16140
|
+
function readToken(engine, name) {
|
|
16141
|
+
if (!engine) return void 0;
|
|
16142
|
+
if (typeof engine.getToken === "function") return engine.getToken(name);
|
|
16143
|
+
if (typeof engine.getTokens === "function") {
|
|
16144
|
+
const tokens = engine.getTokens();
|
|
16145
|
+
return tokens?.[name];
|
|
16146
|
+
}
|
|
16147
|
+
return void 0;
|
|
16148
|
+
}
|
|
16149
|
+
function createTwPlugin(options = {}) {
|
|
16150
|
+
return {
|
|
16151
|
+
async resolveId(source, importer) {
|
|
16152
|
+
if (!source.startsWith("tw.") && !source.startsWith("tw:")) return null;
|
|
16153
|
+
const importPath = source.replace(/^tw[.:]/, "");
|
|
16154
|
+
const resolved = await this.resolve(importPath, importer, { skipSelf: true });
|
|
16155
|
+
if (resolved) return { id: resolved.id };
|
|
16156
|
+
return null;
|
|
16157
|
+
},
|
|
16158
|
+
async load(id) {
|
|
16159
|
+
return null;
|
|
16160
|
+
},
|
|
16161
|
+
async transform(code, id) {
|
|
16162
|
+
return null;
|
|
16163
|
+
},
|
|
16164
|
+
getToken(name) {
|
|
16165
|
+
const engine = resolveTokenEngine();
|
|
16166
|
+
return readToken(engine, name);
|
|
16167
|
+
},
|
|
16168
|
+
subscribeTokens(callback) {
|
|
16169
|
+
const engine = resolveTokenEngine();
|
|
16170
|
+
if (!engine) return () => {
|
|
16171
|
+
};
|
|
16172
|
+
if (typeof engine.subscribeTokens === "function") return engine.subscribeTokens(callback);
|
|
16173
|
+
if (typeof engine.subscribe === "function") return engine.subscribe(callback);
|
|
16174
|
+
return () => {
|
|
16175
|
+
};
|
|
16176
|
+
}
|
|
16177
|
+
};
|
|
16178
|
+
}
|
|
16179
|
+
var globalRegistry = {
|
|
16180
|
+
transforms: [],
|
|
16181
|
+
tokens: {}
|
|
16182
|
+
};
|
|
16183
|
+
function getGlobalRegistry2() {
|
|
16184
|
+
return globalRegistry;
|
|
16185
|
+
}
|
|
16186
|
+
function registerTransform(transform) {
|
|
16187
|
+
globalRegistry.transforms.push(transform);
|
|
16188
|
+
}
|
|
16189
|
+
function registerToken(name, value) {
|
|
16190
|
+
globalRegistry.tokens[name] = value;
|
|
16191
|
+
}
|
|
16192
|
+
function createRegistry() {
|
|
16193
|
+
return {
|
|
16194
|
+
variants: /* @__PURE__ */ new Map(),
|
|
16195
|
+
utilities: /* @__PURE__ */ new Map(),
|
|
16196
|
+
tokens: /* @__PURE__ */ new Map(),
|
|
16197
|
+
transforms: [],
|
|
16198
|
+
cssHooks: [],
|
|
16199
|
+
buildHooks: [],
|
|
16200
|
+
plugins: /* @__PURE__ */ new Set()
|
|
16201
|
+
};
|
|
16202
|
+
}
|
|
16203
|
+
var _globalRegistry = createRegistry();
|
|
16204
|
+
function resetGlobalRegistry() {
|
|
16205
|
+
_globalRegistry = createRegistry();
|
|
16206
|
+
}
|
|
16207
|
+
function createContext(registry, config = {}) {
|
|
16208
|
+
return {
|
|
16209
|
+
config,
|
|
16210
|
+
addVariant(name, resolver) {
|
|
16211
|
+
registry.variants.set(name, resolver);
|
|
16212
|
+
},
|
|
16213
|
+
addUtility(name, styles) {
|
|
16214
|
+
registry.utilities.set(name, styles);
|
|
16215
|
+
},
|
|
16216
|
+
addToken(name, value) {
|
|
16217
|
+
const normalized = name.replace(/[^a-zA-Z0-9-]/g, "-").toLowerCase();
|
|
16218
|
+
registry.tokens.set(normalized, value);
|
|
16219
|
+
},
|
|
16220
|
+
addTransform(fn) {
|
|
16221
|
+
registry.transforms.push(fn);
|
|
16222
|
+
},
|
|
16223
|
+
onGenerateCSS(hook) {
|
|
16224
|
+
registry.cssHooks.push(hook);
|
|
16225
|
+
},
|
|
16226
|
+
onBuildEnd(hook) {
|
|
16227
|
+
registry.buildHooks.push(hook);
|
|
16228
|
+
},
|
|
16229
|
+
getToken(name) {
|
|
16230
|
+
return readToken(resolveTokenEngine(), name);
|
|
16231
|
+
},
|
|
16232
|
+
subscribeTokens(callback) {
|
|
16233
|
+
const engine = resolveTokenEngine();
|
|
16234
|
+
if (!engine) return () => {
|
|
16235
|
+
};
|
|
16236
|
+
if (typeof engine.subscribeTokens === "function") return engine.subscribeTokens(callback);
|
|
16237
|
+
if (typeof engine.subscribe === "function") return engine.subscribe(callback);
|
|
16238
|
+
return () => {
|
|
16239
|
+
};
|
|
16240
|
+
}
|
|
16241
|
+
};
|
|
16242
|
+
}
|
|
16243
|
+
function createTw(config = {}) {
|
|
16244
|
+
const registry = createRegistry();
|
|
16245
|
+
const ctx = createContext(registry, config);
|
|
16246
|
+
const result = ctx;
|
|
16247
|
+
result.registry = {
|
|
16248
|
+
plugins: registry.plugins,
|
|
16249
|
+
variants: registry.variants,
|
|
16250
|
+
utilities: registry.utilities,
|
|
16251
|
+
tokens: registry.tokens
|
|
16252
|
+
};
|
|
16253
|
+
result.use = (plugin) => {
|
|
16254
|
+
plugin.setup(ctx);
|
|
16255
|
+
registry.plugins.add(plugin.name);
|
|
16256
|
+
};
|
|
16257
|
+
if (config.plugins && Array.isArray(config.plugins)) {
|
|
16258
|
+
for (const plugin of config.plugins) {
|
|
16259
|
+
if (plugin && plugin.name) {
|
|
16260
|
+
result.use(plugin);
|
|
16261
|
+
}
|
|
16262
|
+
}
|
|
16263
|
+
}
|
|
16264
|
+
return result;
|
|
16265
|
+
}
|
|
16266
|
+
function use(plugin) {
|
|
16267
|
+
const ctx = createContext(_globalRegistry);
|
|
16268
|
+
plugin.setup(ctx);
|
|
16269
|
+
}
|
|
16270
|
+
function presetTokens(tokens) {
|
|
16271
|
+
return {
|
|
16272
|
+
name: "preset-tokens",
|
|
16273
|
+
setup(ctx) {
|
|
16274
|
+
for (const [name, value] of Object.entries(tokens)) {
|
|
16275
|
+
ctx.addToken(name, value);
|
|
16276
|
+
}
|
|
16277
|
+
}
|
|
16278
|
+
};
|
|
16279
|
+
}
|
|
16280
|
+
function presetVariants(variants) {
|
|
16281
|
+
return {
|
|
16282
|
+
name: "preset-variants",
|
|
16283
|
+
setup(ctx) {
|
|
16284
|
+
for (const [name, resolver] of Object.entries(variants)) {
|
|
16285
|
+
ctx.addVariant(name, resolver);
|
|
16286
|
+
}
|
|
16287
|
+
}
|
|
16288
|
+
};
|
|
16289
|
+
}
|
|
16290
|
+
function presetScrollbar() {
|
|
16291
|
+
return {
|
|
16292
|
+
name: "preset-scrollbar",
|
|
16293
|
+
setup(ctx) {
|
|
16294
|
+
ctx.addVariant("scrollbar-thin", () => "::-webkit-scrollbar{width:8px;height:8px}");
|
|
16295
|
+
ctx.addVariant("scrollbar-none", () => "::-webkit-scrollbar{display:none}");
|
|
16296
|
+
ctx.addUtility("scrollbar-hide", { "-ms-overflow-style": "none", "scrollbar-width": "none" });
|
|
16297
|
+
}
|
|
16298
|
+
};
|
|
16299
|
+
}
|
|
16300
|
+
exports$1222.createTw = createTw;
|
|
16301
|
+
exports$1222.createTwPlugin = createTwPlugin;
|
|
16302
|
+
exports$1222.getGlobalRegistry = getGlobalRegistry2;
|
|
16303
|
+
exports$1222.presetScrollbar = presetScrollbar;
|
|
16304
|
+
exports$1222.presetTokens = presetTokens;
|
|
16305
|
+
exports$1222.presetVariants = presetVariants;
|
|
16306
|
+
exports$1222.registerToken = registerToken;
|
|
16307
|
+
exports$1222.registerTransform = registerTransform;
|
|
16308
|
+
exports$1222.resetGlobalRegistry = resetGlobalRegistry;
|
|
16309
|
+
exports$1222.use = use;
|
|
16153
16310
|
}
|
|
16154
16311
|
});
|
|
16155
|
-
var
|
|
16156
|
-
"
|
|
16157
|
-
|
|
16158
|
-
|
|
16312
|
+
var require_shared222 = __commonJS2222({
|
|
16313
|
+
"dist/shared.js"(exports$1222) {
|
|
16314
|
+
var fs5 = __require2222("fs");
|
|
16315
|
+
var module$1222 = __require2222("module");
|
|
16316
|
+
var os = __require2222("os");
|
|
16317
|
+
var path9 = __require2222("path");
|
|
16318
|
+
var url2222 = __require2222("url");
|
|
16319
|
+
var crypto2 = __require2222("crypto");
|
|
16320
|
+
function _interopDefault2222(e) {
|
|
16321
|
+
return e && e.__esModule ? e : { default: e };
|
|
16322
|
+
}
|
|
16323
|
+
var fs__default22 = /* @__PURE__ */ _interopDefault2222(fs5);
|
|
16324
|
+
var os__default = /* @__PURE__ */ _interopDefault2222(os);
|
|
16325
|
+
var path__default2 = /* @__PURE__ */ _interopDefault2222(path9);
|
|
16326
|
+
var LRUCache = class {
|
|
16327
|
+
constructor(max = 256, ttlMs = null) {
|
|
16328
|
+
this.map = /* @__PURE__ */ new Map();
|
|
16329
|
+
this.max = max;
|
|
16330
|
+
this.ttlMs = ttlMs;
|
|
16331
|
+
}
|
|
16332
|
+
get(key) {
|
|
16333
|
+
const entry = this.map.get(key);
|
|
16334
|
+
if (!entry) return void 0;
|
|
16335
|
+
if (this.ttlMs !== null && Date.now() - entry.ts > this.ttlMs) {
|
|
16336
|
+
this.map.delete(key);
|
|
16337
|
+
return void 0;
|
|
16338
|
+
}
|
|
16339
|
+
this.map.delete(key);
|
|
16340
|
+
this.map.set(key, entry);
|
|
16341
|
+
return entry.value;
|
|
16342
|
+
}
|
|
16343
|
+
set(key, value) {
|
|
16344
|
+
if (this.map.has(key)) this.map.delete(key);
|
|
16345
|
+
else if (this.map.size >= this.max) {
|
|
16346
|
+
this.map.delete(this.map.keys().next().value);
|
|
16347
|
+
}
|
|
16348
|
+
this.map.set(key, { value, ts: Date.now() });
|
|
16349
|
+
}
|
|
16350
|
+
has(key) {
|
|
16351
|
+
return this.get(key) !== void 0;
|
|
16352
|
+
}
|
|
16353
|
+
delete(key) {
|
|
16354
|
+
this.map.delete(key);
|
|
16355
|
+
}
|
|
16356
|
+
clear() {
|
|
16357
|
+
this.map.clear();
|
|
16358
|
+
}
|
|
16359
|
+
get size() {
|
|
16360
|
+
return this.map.size;
|
|
16361
|
+
}
|
|
16362
|
+
keys() {
|
|
16363
|
+
return this.map.keys();
|
|
16364
|
+
}
|
|
16365
|
+
*values() {
|
|
16366
|
+
for (const entry of this.map.values()) {
|
|
16367
|
+
yield entry.value;
|
|
16368
|
+
}
|
|
16369
|
+
}
|
|
16370
|
+
*entries() {
|
|
16371
|
+
for (const [key, entry] of this.map.entries()) {
|
|
16372
|
+
yield [key, entry.value];
|
|
16373
|
+
}
|
|
16374
|
+
}
|
|
16375
|
+
};
|
|
16376
|
+
function getPlatformExtension() {
|
|
16377
|
+
const platform = os__default.default.platform();
|
|
16378
|
+
switch (platform) {
|
|
16379
|
+
case "win32":
|
|
16380
|
+
return ".node";
|
|
16381
|
+
case "darwin":
|
|
16382
|
+
return ".dylib";
|
|
16383
|
+
case "linux":
|
|
16384
|
+
return ".so";
|
|
16385
|
+
default:
|
|
16386
|
+
return ".node";
|
|
16387
|
+
}
|
|
16388
|
+
}
|
|
16389
|
+
function formatErrorMessage2(error) {
|
|
16390
|
+
return error instanceof Error ? error.message : String(error);
|
|
16391
|
+
}
|
|
16392
|
+
function resolveRuntimeDir2(dirnameValue, moduleImportUrl) {
|
|
16393
|
+
if (typeof dirnameValue === "string" && dirnameValue.length > 0) return dirnameValue;
|
|
16394
|
+
return path__default2.default.dirname(url2222.fileURLToPath(moduleImportUrl));
|
|
16395
|
+
}
|
|
16396
|
+
function resolveNativeBindingCandidates2(options) {
|
|
16397
|
+
const out = [];
|
|
16398
|
+
const envVarNames = options.envVarNames ?? ["TWS_NATIVE_PATH"];
|
|
16399
|
+
for (const envVarName of envVarNames) {
|
|
16400
|
+
const raw = process.env[envVarName]?.trim();
|
|
16401
|
+
if (!raw) continue;
|
|
16402
|
+
const resolved = path__default2.default.resolve(raw);
|
|
16403
|
+
if (options.enforceNodeExtensionForEnvPath) {
|
|
16404
|
+
if (path__default2.default.extname(resolved).toLowerCase() !== ".node") {
|
|
16405
|
+
throw new Error(
|
|
16406
|
+
`Invalid native binding path from ${envVarName}="${raw}". Expected a .node file.`
|
|
16407
|
+
);
|
|
16408
|
+
}
|
|
16409
|
+
}
|
|
16410
|
+
out.push(resolved);
|
|
16411
|
+
}
|
|
16412
|
+
if (options.includeDefaultCandidates !== false) {
|
|
16413
|
+
const ext = options.platformExtension ?? getPlatformExtension();
|
|
16414
|
+
const defaultBindingName = `tailwind_styled_parser${ext}`;
|
|
16415
|
+
out.push(path__default2.default.resolve(process.cwd(), "native", defaultBindingName));
|
|
16416
|
+
out.push(path__default2.default.resolve(options.runtimeDir, "..", "..", "..", "native", defaultBindingName));
|
|
16417
|
+
}
|
|
16418
|
+
return Array.from(new Set(out));
|
|
16419
|
+
}
|
|
16420
|
+
function parseDebugToken(namespace, token) {
|
|
16421
|
+
if (token === "*" || token === namespace || token === "tailwind-styled:*") return true;
|
|
16422
|
+
return token.endsWith("*") && namespace.startsWith(token.slice(0, -1));
|
|
16423
|
+
}
|
|
16424
|
+
function isDebugNamespaceEnabled(namespace) {
|
|
16425
|
+
if (process.env.TWS_DEBUG === "1" || process.env.TAILWIND_STYLED_DEBUG === "1") return true;
|
|
16426
|
+
const raw = process.env.DEBUG;
|
|
16427
|
+
if (!raw) return false;
|
|
16428
|
+
return raw.split(",").map((token) => token.trim()).some((token) => parseDebugToken(namespace, token));
|
|
16429
|
+
}
|
|
16430
|
+
function createDebugLogger2(namespace, label = namespace) {
|
|
16431
|
+
const debugEnabled = isDebugNamespaceEnabled(namespace);
|
|
16432
|
+
return (message) => {
|
|
16433
|
+
if (!debugEnabled) return;
|
|
16434
|
+
console.debug(`[${label}] ${message}`);
|
|
16435
|
+
};
|
|
16436
|
+
}
|
|
16437
|
+
function loadNativeBinding2(options) {
|
|
16438
|
+
const req = module$1222.createRequire(path__default2.default.join(options.runtimeDir, "noop.cjs"));
|
|
16439
|
+
const loadErrors2 = [];
|
|
16440
|
+
for (const candidate of options.candidates) {
|
|
16441
|
+
if (!fs__default22.default.existsSync(candidate)) continue;
|
|
16442
|
+
try {
|
|
16443
|
+
const mod = req(candidate);
|
|
16444
|
+
if (options.isValid(mod)) {
|
|
16445
|
+
return {
|
|
16446
|
+
binding: mod,
|
|
16447
|
+
loadedPath: candidate,
|
|
16448
|
+
loadErrors: loadErrors2
|
|
16449
|
+
};
|
|
16450
|
+
}
|
|
16451
|
+
loadErrors2.push({
|
|
16452
|
+
path: candidate,
|
|
16453
|
+
message: options.invalidExportMessage
|
|
16454
|
+
});
|
|
16455
|
+
} catch (error) {
|
|
16456
|
+
loadErrors2.push({
|
|
16457
|
+
path: candidate,
|
|
16458
|
+
message: formatErrorMessage2(error)
|
|
16459
|
+
});
|
|
16460
|
+
}
|
|
16461
|
+
}
|
|
16462
|
+
return {
|
|
16463
|
+
binding: null,
|
|
16464
|
+
loadedPath: null,
|
|
16465
|
+
loadErrors: loadErrors2
|
|
16466
|
+
};
|
|
16467
|
+
}
|
|
16468
|
+
var LEVELS = { silent: 0, error: 1, warn: 2, info: 3, debug: 4 };
|
|
16469
|
+
function getEnvLevel() {
|
|
16470
|
+
const env = process.env.TWS_LOG_LEVEL?.toLowerCase();
|
|
16471
|
+
if (env && env in LEVELS) return env;
|
|
16472
|
+
return process.env.TWS_DEBUG_SCANNER === "1" ? "debug" : "info";
|
|
16473
|
+
}
|
|
16474
|
+
function createLogger22(prefix, level) {
|
|
16475
|
+
let currentLevel = level ?? getEnvLevel();
|
|
16476
|
+
const log222 = (msgLevel, stream, args) => {
|
|
16477
|
+
if (LEVELS[msgLevel] > LEVELS[currentLevel]) return;
|
|
16478
|
+
const line = `[${prefix}] ${args.map(String).join(" ")}
|
|
16479
|
+
`;
|
|
16480
|
+
process[stream].write(line);
|
|
16481
|
+
};
|
|
16482
|
+
return {
|
|
16483
|
+
error: (...a) => log222("error", "stderr", a),
|
|
16484
|
+
warn: (...a) => log222("warn", "stderr", a),
|
|
16485
|
+
info: (...a) => log222("info", "stdout", a),
|
|
16486
|
+
debug: (...a) => log222("debug", "stderr", a),
|
|
16487
|
+
setLevel: (l) => {
|
|
16488
|
+
currentLevel = l;
|
|
16489
|
+
}
|
|
16490
|
+
};
|
|
16491
|
+
}
|
|
16492
|
+
var logger = createLogger22("tailwind-styled");
|
|
16493
|
+
function hashContent2(content, algorithm = "md5", length = 8) {
|
|
16494
|
+
return crypto2.createHash(algorithm).update(content).digest("hex").slice(0, length);
|
|
16495
|
+
}
|
|
16496
|
+
function hashFile(filePath, algorithm = "md5", length = 8) {
|
|
16497
|
+
try {
|
|
16498
|
+
const content = fs__default22.default.readFileSync(filePath, "utf8");
|
|
16499
|
+
return hashContent2(content, algorithm, length);
|
|
16500
|
+
} catch {
|
|
16501
|
+
return "00000000";
|
|
16502
|
+
}
|
|
16503
|
+
}
|
|
16504
|
+
function debounce(fn, ms) {
|
|
16505
|
+
let timer = null;
|
|
16506
|
+
return ((...args) => {
|
|
16507
|
+
if (timer) clearTimeout(timer);
|
|
16508
|
+
timer = setTimeout(() => {
|
|
16509
|
+
timer = null;
|
|
16510
|
+
fn(...args);
|
|
16511
|
+
}, ms);
|
|
16512
|
+
});
|
|
16513
|
+
}
|
|
16514
|
+
function throttle(fn, ms) {
|
|
16515
|
+
let last = 0;
|
|
16516
|
+
return ((...args) => {
|
|
16517
|
+
const now = Date.now();
|
|
16518
|
+
if (now - last >= ms) {
|
|
16519
|
+
last = now;
|
|
16520
|
+
fn(...args);
|
|
16521
|
+
}
|
|
16522
|
+
});
|
|
16523
|
+
}
|
|
16524
|
+
function parseVersion(v) {
|
|
16525
|
+
const parts = v.replace(/^v/, "").split(".").map((p) => {
|
|
16526
|
+
const n = Number(p);
|
|
16527
|
+
return Number.isNaN(n) ? 0 : n;
|
|
16528
|
+
});
|
|
16529
|
+
const [major = 0, minor = 0, patch = 0] = parts;
|
|
16530
|
+
return { major, minor, patch };
|
|
16531
|
+
}
|
|
16532
|
+
function satisfiesMinVersion(version, minVersion) {
|
|
16533
|
+
const v = parseVersion(version);
|
|
16534
|
+
const min = parseVersion(minVersion);
|
|
16535
|
+
if (v.major !== min.major) return v.major > min.major;
|
|
16536
|
+
if (v.minor !== min.minor) return v.minor > min.minor;
|
|
16537
|
+
return v.patch >= min.patch;
|
|
16538
|
+
}
|
|
16539
|
+
exports$1222.LRUCache = LRUCache;
|
|
16540
|
+
exports$1222.createDebugLogger = createDebugLogger2;
|
|
16541
|
+
exports$1222.createLogger = createLogger22;
|
|
16542
|
+
exports$1222.debounce = debounce;
|
|
16543
|
+
exports$1222.formatErrorMessage = formatErrorMessage2;
|
|
16544
|
+
exports$1222.hashContent = hashContent2;
|
|
16545
|
+
exports$1222.hashFile = hashFile;
|
|
16546
|
+
exports$1222.isDebugNamespaceEnabled = isDebugNamespaceEnabled;
|
|
16547
|
+
exports$1222.loadNativeBinding = loadNativeBinding2;
|
|
16548
|
+
exports$1222.logger = logger;
|
|
16549
|
+
exports$1222.parseVersion = parseVersion;
|
|
16550
|
+
exports$1222.resolveNativeBindingCandidates = resolveNativeBindingCandidates2;
|
|
16551
|
+
exports$1222.resolveRuntimeDir = resolveRuntimeDir2;
|
|
16552
|
+
exports$1222.satisfiesMinVersion = satisfiesMinVersion;
|
|
16553
|
+
exports$1222.throttle = throttle;
|
|
16159
16554
|
}
|
|
16160
16555
|
});
|
|
16161
16556
|
var nativeBridge_exports = {};
|
|
@@ -16258,6 +16653,7 @@ Or install a prebuilt binary for your platform.`
|
|
|
16258
16653
|
metadata
|
|
16259
16654
|
};
|
|
16260
16655
|
}
|
|
16656
|
+
var import_shared222;
|
|
16261
16657
|
var getDirname2;
|
|
16262
16658
|
var runtimeDir;
|
|
16263
16659
|
var requireFromRuntime;
|
|
@@ -16265,7 +16661,7 @@ Or install a prebuilt binary for your platform.`
|
|
|
16265
16661
|
var log22;
|
|
16266
16662
|
var init_nativeBridge = __esm2({
|
|
16267
16663
|
"packages/compiler/src/nativeBridge.ts"() {
|
|
16268
|
-
|
|
16664
|
+
import_shared222 = __toESM2222(require_shared222());
|
|
16269
16665
|
getDirname2 = () => {
|
|
16270
16666
|
if (typeof __dirname !== "undefined") {
|
|
16271
16667
|
return __dirname;
|
|
@@ -16277,7 +16673,7 @@ Or install a prebuilt binary for your platform.`
|
|
|
16277
16673
|
};
|
|
16278
16674
|
runtimeDir = getDirname2();
|
|
16279
16675
|
requireFromRuntime = typeof module2 !== "undefined" && typeof module2.require === "function" ? module2.require.bind(module2) : module$122.createRequire(path7__default.default.join(runtimeDir, "noop.cjs"));
|
|
16280
|
-
log22 =
|
|
16676
|
+
log22 = (0, import_shared222.createLogger)("compiler:native");
|
|
16281
16677
|
}
|
|
16282
16678
|
});
|
|
16283
16679
|
function requireNative() {
|
|
@@ -18002,13 +18398,7 @@ body {
|
|
|
18002
18398
|
`;
|
|
18003
18399
|
}
|
|
18004
18400
|
});
|
|
18005
|
-
var
|
|
18006
|
-
transforms: [],
|
|
18007
|
-
tokens: {}
|
|
18008
|
-
};
|
|
18009
|
-
function getGlobalRegistry() {
|
|
18010
|
-
return globalRegistry;
|
|
18011
|
-
}
|
|
18401
|
+
var import_plugin = __toESM2222(require_plugin());
|
|
18012
18402
|
function mergeClassesStatic2(classes) {
|
|
18013
18403
|
return tailwindMerge.twMerge(classes);
|
|
18014
18404
|
}
|
|
@@ -18747,7 +19137,7 @@ ${subAssignments}
|
|
|
18747
19137
|
compoundVariants: compounds,
|
|
18748
19138
|
defaultVariants: defaults
|
|
18749
19139
|
};
|
|
18750
|
-
const registry = getGlobalRegistry();
|
|
19140
|
+
const registry = (0, import_plugin.getGlobalRegistry)();
|
|
18751
19141
|
if (registry.transforms.length > 0) {
|
|
18752
19142
|
const componentName = `Tw${tag}`;
|
|
18753
19143
|
for (const transform of registry.transforms) {
|
|
@@ -18927,8 +19317,8 @@ Please ensure the native module is properly built.`
|
|
|
18927
19317
|
function scanFiles(dir) {
|
|
18928
19318
|
const files = [];
|
|
18929
19319
|
function walk(current) {
|
|
18930
|
-
if (!
|
|
18931
|
-
const entries =
|
|
19320
|
+
if (!fs2__default2.default.existsSync(current)) return;
|
|
19321
|
+
const entries = fs2__default2.default.readdirSync(current, { withFileTypes: true });
|
|
18932
19322
|
for (const entry of entries) {
|
|
18933
19323
|
if (SKIP_DIRS.has(entry.name)) continue;
|
|
18934
19324
|
const fullPath = path7__default.default.join(current, entry.name);
|
|
@@ -18949,7 +19339,7 @@ Please ensure the native module is properly built.`
|
|
|
18949
19339
|
const files = scanFiles(absDir);
|
|
18950
19340
|
for (const file of files) {
|
|
18951
19341
|
try {
|
|
18952
|
-
const source =
|
|
19342
|
+
const source = fs2__default2.default.readFileSync(file, "utf-8");
|
|
18953
19343
|
const usage = extractComponentUsage(source);
|
|
18954
19344
|
for (const [comp, props] of Object.entries(usage)) {
|
|
18955
19345
|
if (!combined[comp]) combined[comp] = {};
|
|
@@ -19088,19 +19478,19 @@ Please ensure the native module is properly built.`
|
|
|
19088
19478
|
}
|
|
19089
19479
|
return { css, report };
|
|
19090
19480
|
}
|
|
19091
|
-
|
|
19481
|
+
var import_shared2222 = __toESM2222(require_shared222());
|
|
19092
19482
|
var CACHE_DIR = ".tw-cache";
|
|
19093
19483
|
var HASH_CACHE_FILE = path7__default.default.join(CACHE_DIR, "file-hashes.json");
|
|
19094
19484
|
var GRAPH_CACHE_FILE = path7__default.default.join(CACHE_DIR, "dep-graph.json");
|
|
19095
19485
|
function ensureCacheDir() {
|
|
19096
|
-
if (!
|
|
19097
|
-
|
|
19486
|
+
if (!fs2__default2.default.existsSync(CACHE_DIR)) {
|
|
19487
|
+
fs2__default2.default.mkdirSync(CACHE_DIR, { recursive: true });
|
|
19098
19488
|
}
|
|
19099
19489
|
}
|
|
19100
19490
|
function loadHashCache() {
|
|
19101
19491
|
try {
|
|
19102
|
-
if (
|
|
19103
|
-
const raw =
|
|
19492
|
+
if (fs2__default2.default.existsSync(HASH_CACHE_FILE)) {
|
|
19493
|
+
const raw = fs2__default2.default.readFileSync(HASH_CACHE_FILE, "utf-8");
|
|
19104
19494
|
return new Map(Object.entries(JSON.parse(raw)));
|
|
19105
19495
|
}
|
|
19106
19496
|
} catch {
|
|
@@ -19111,14 +19501,14 @@ Please ensure the native module is properly built.`
|
|
|
19111
19501
|
try {
|
|
19112
19502
|
ensureCacheDir();
|
|
19113
19503
|
const obj = Object.fromEntries(cache);
|
|
19114
|
-
|
|
19504
|
+
fs2__default2.default.writeFileSync(HASH_CACHE_FILE, JSON.stringify(obj, null, 2));
|
|
19115
19505
|
} catch {
|
|
19116
19506
|
}
|
|
19117
19507
|
}
|
|
19118
19508
|
function loadGraphCache() {
|
|
19119
19509
|
try {
|
|
19120
|
-
if (
|
|
19121
|
-
const raw =
|
|
19510
|
+
if (fs2__default2.default.existsSync(GRAPH_CACHE_FILE)) {
|
|
19511
|
+
const raw = fs2__default2.default.readFileSync(GRAPH_CACHE_FILE, "utf-8");
|
|
19122
19512
|
const data = JSON.parse(raw);
|
|
19123
19513
|
return new Map(Object.entries(data));
|
|
19124
19514
|
}
|
|
@@ -19130,7 +19520,7 @@ Please ensure the native module is properly built.`
|
|
|
19130
19520
|
try {
|
|
19131
19521
|
ensureCacheDir();
|
|
19132
19522
|
const obj = Object.fromEntries(graph);
|
|
19133
|
-
|
|
19523
|
+
fs2__default2.default.writeFileSync(GRAPH_CACHE_FILE, JSON.stringify(obj, null, 2));
|
|
19134
19524
|
} catch {
|
|
19135
19525
|
}
|
|
19136
19526
|
}
|
|
@@ -19153,7 +19543,7 @@ Please ensure the native module is properly built.`
|
|
|
19153
19543
|
return result;
|
|
19154
19544
|
}
|
|
19155
19545
|
function hashFileContent(content) {
|
|
19156
|
-
return hashContent(content, "md5", 8);
|
|
19546
|
+
return (0, import_shared2222.hashContent)(content, "md5", 8);
|
|
19157
19547
|
}
|
|
19158
19548
|
function makeAtomicClass(declaration, modifier) {
|
|
19159
19549
|
const key = modifier ? `${declaration}::${modifier}` : declaration;
|
|
@@ -19235,8 +19625,8 @@ Please ensure the native module is properly built.`
|
|
|
19235
19625
|
}
|
|
19236
19626
|
loadFromDisk() {
|
|
19237
19627
|
try {
|
|
19238
|
-
if (
|
|
19239
|
-
const css =
|
|
19628
|
+
if (fs2__default2.default.existsSync(this.outputPath)) {
|
|
19629
|
+
const css = fs2__default2.default.readFileSync(this.outputPath, "utf-8");
|
|
19240
19630
|
const ruleRe = /(\.tw-[a-z0-9]+(?::[\w-]+)?)\{([^}]+)\}|(@[^{]+)\{(\.tw-[a-z0-9]+)\{([^}]+)\}\}/g;
|
|
19241
19631
|
let m;
|
|
19242
19632
|
while ((m = ruleRe.exec(css)) !== null) {
|
|
@@ -19266,7 +19656,7 @@ Please ensure the native module is properly built.`
|
|
|
19266
19656
|
try {
|
|
19267
19657
|
ensureCacheDir();
|
|
19268
19658
|
const css = Array.from(this.ruleMap.values()).join("\n");
|
|
19269
|
-
await
|
|
19659
|
+
await fs2__default2.default.promises.writeFile(this.outputPath, css, "utf-8");
|
|
19270
19660
|
this.dirty = false;
|
|
19271
19661
|
} catch {
|
|
19272
19662
|
}
|
|
@@ -19277,7 +19667,7 @@ Please ensure the native module is properly built.`
|
|
|
19277
19667
|
try {
|
|
19278
19668
|
ensureCacheDir();
|
|
19279
19669
|
const css = Array.from(this.ruleMap.values()).join("\n");
|
|
19280
|
-
|
|
19670
|
+
fs2__default2.default.writeFileSync(this.outputPath, css, "utf-8");
|
|
19281
19671
|
this.dirty = false;
|
|
19282
19672
|
} catch {
|
|
19283
19673
|
}
|
|
@@ -20234,7 +20624,7 @@ The native binding is required for all transformations.`
|
|
|
20234
20624
|
_cachedCwd = cwd;
|
|
20235
20625
|
for (const file of CONFIG_FILES) {
|
|
20236
20626
|
const fullPath = path7__default.default.join(cwd, file);
|
|
20237
|
-
if (
|
|
20627
|
+
if (fs2__default2.default.existsSync(fullPath)) {
|
|
20238
20628
|
try {
|
|
20239
20629
|
const mod = __require2222(fullPath);
|
|
20240
20630
|
const config = mod.default ?? mod;
|
|
@@ -20262,14 +20652,14 @@ The native binding is required for all transformations.`
|
|
|
20262
20652
|
if (config.content?.files) {
|
|
20263
20653
|
return config.content.files.filter((f) => typeof f === "string");
|
|
20264
20654
|
}
|
|
20265
|
-
return ["src", "app", "pages", "components"].filter((d) =>
|
|
20655
|
+
return ["src", "app", "pages", "components"].filter((d) => fs2__default2.default.existsSync(path7__default.default.join(cwd, d))).map((d) => `./${d}/**/*.{tsx,ts,jsx,js}`);
|
|
20266
20656
|
}
|
|
20267
20657
|
function invalidateConfigCache() {
|
|
20268
20658
|
_cachedConfig = null;
|
|
20269
20659
|
_cachedCwd = "";
|
|
20270
20660
|
}
|
|
20271
20661
|
function isZeroConfig(cwd = process.cwd()) {
|
|
20272
|
-
return !CONFIG_FILES.some((f) =>
|
|
20662
|
+
return !CONFIG_FILES.some((f) => fs2__default2.default.existsSync(path7__default.default.join(cwd, f)));
|
|
20273
20663
|
}
|
|
20274
20664
|
function bootstrapZeroConfig(cwd = process.cwd()) {
|
|
20275
20665
|
let generatedConfig = false;
|
|
@@ -20281,13 +20671,13 @@ The native binding is required for all transformations.`
|
|
|
20281
20671
|
"src/index.css",
|
|
20282
20672
|
"src/styles/globals.css"
|
|
20283
20673
|
];
|
|
20284
|
-
const hasGlobalCss = cssPaths.some((p) =>
|
|
20674
|
+
const hasGlobalCss = cssPaths.some((p) => fs2__default2.default.existsSync(path7__default.default.join(cwd, p)));
|
|
20285
20675
|
if (!hasGlobalCss) {
|
|
20286
20676
|
const { defaultGlobalCss: defaultGlobalCss2 } = (init_defaultPreset(), __toCommonJS2(defaultPreset_exports));
|
|
20287
|
-
const appDir =
|
|
20677
|
+
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";
|
|
20288
20678
|
const cssPath = path7__default.default.join(cwd, appDir, "globals.css");
|
|
20289
|
-
if (
|
|
20290
|
-
|
|
20679
|
+
if (fs2__default2.default.existsSync(path7__default.default.dirname(cssPath))) {
|
|
20680
|
+
fs2__default2.default.writeFileSync(cssPath, defaultGlobalCss2);
|
|
20291
20681
|
generatedCss = true;
|
|
20292
20682
|
console.log(`[tailwind-styled-v4] Generated ${cssPath}`);
|
|
20293
20683
|
}
|
|
@@ -20360,8 +20750,8 @@ Please build the native module.`
|
|
|
20360
20750
|
}
|
|
20361
20751
|
var SCAN_EXTENSIONS2 = [".tsx", ".ts", ".jsx", ".js"];
|
|
20362
20752
|
function scanDir(dir, files = []) {
|
|
20363
|
-
if (!
|
|
20364
|
-
const entries =
|
|
20753
|
+
if (!fs2__default2.default.existsSync(dir)) return files;
|
|
20754
|
+
const entries = fs2__default2.default.readdirSync(dir, { withFileTypes: true });
|
|
20365
20755
|
for (const entry of entries) {
|
|
20366
20756
|
if (entry.name === "node_modules" || entry.name === ".next" || entry.name === "dist") continue;
|
|
20367
20757
|
const fullPath = path7__default.default.join(dir, entry.name);
|
|
@@ -20380,7 +20770,7 @@ Please build the native module.`
|
|
|
20380
20770
|
const files = scanDir(absDir);
|
|
20381
20771
|
for (const file of files) {
|
|
20382
20772
|
try {
|
|
20383
|
-
const source =
|
|
20773
|
+
const source = fs2__default2.default.readFileSync(file, "utf-8");
|
|
20384
20774
|
const classes = extractAllClasses2(source);
|
|
20385
20775
|
classes.forEach((c) => allClasses.add(c));
|
|
20386
20776
|
} catch {
|
|
@@ -20389,13 +20779,13 @@ Please build the native module.`
|
|
|
20389
20779
|
}
|
|
20390
20780
|
const sorted = Array.from(allClasses).sort();
|
|
20391
20781
|
const absOutput = path7__default.default.isAbsolute(outputPath) ? outputPath : path7__default.default.resolve(cwd, outputPath);
|
|
20392
|
-
|
|
20782
|
+
fs2__default2.default.writeFileSync(absOutput, JSON.stringify(sorted, null, 2));
|
|
20393
20783
|
console.log(`[tailwind-styled-v4] Safelist: ${sorted.length} classes \u2192 ${absOutput}`);
|
|
20394
20784
|
return sorted;
|
|
20395
20785
|
}
|
|
20396
20786
|
function loadSafelist(safelistPath) {
|
|
20397
20787
|
try {
|
|
20398
|
-
const content =
|
|
20788
|
+
const content = fs2__default2.default.readFileSync(safelistPath, "utf-8");
|
|
20399
20789
|
return JSON.parse(content);
|
|
20400
20790
|
} catch {
|
|
20401
20791
|
return [];
|
|
@@ -20408,7 +20798,7 @@ Please build the native module.`
|
|
|
20408
20798
|
const files = scanDir(absDir);
|
|
20409
20799
|
for (const file of files) {
|
|
20410
20800
|
try {
|
|
20411
|
-
const source =
|
|
20801
|
+
const source = fs2__default2.default.readFileSync(file, "utf-8");
|
|
20412
20802
|
const classes = extractAllClasses2(source);
|
|
20413
20803
|
classes.forEach((c) => allClasses.add(c));
|
|
20414
20804
|
} catch {
|
|
@@ -20417,13 +20807,13 @@ Please build the native module.`
|
|
|
20417
20807
|
}
|
|
20418
20808
|
const sorted = Array.from(allClasses).sort();
|
|
20419
20809
|
const absOutput = path7__default.default.isAbsolute(outputPath) ? outputPath : path7__default.default.resolve(cwd, outputPath);
|
|
20420
|
-
|
|
20810
|
+
fs2__default2.default.mkdirSync(path7__default.default.dirname(absOutput), { recursive: true });
|
|
20421
20811
|
const css = sorted.length > 0 ? `/* Auto-generated by tailwind-styled-v4 \u2014 DO NOT EDIT */
|
|
20422
20812
|
@source inline("${sorted.join(" ")}");
|
|
20423
20813
|
` : `/* Auto-generated by tailwind-styled-v4 \u2014 DO NOT EDIT */
|
|
20424
20814
|
/* No safelist classes found */
|
|
20425
20815
|
`;
|
|
20426
|
-
|
|
20816
|
+
fs2__default2.default.writeFileSync(absOutput, css);
|
|
20427
20817
|
console.log(`[tailwind-styled-v4] Safelist: ${sorted.length} classes \u2192 ${absOutput}`);
|
|
20428
20818
|
return sorted;
|
|
20429
20819
|
}
|
|
@@ -20531,13 +20921,13 @@ Please build the native module.`
|
|
|
20531
20921
|
}
|
|
20532
20922
|
}
|
|
20533
20923
|
if (outputDir) {
|
|
20534
|
-
const
|
|
20535
|
-
|
|
20924
|
+
const fs5 = __require2222("fs");
|
|
20925
|
+
fs5.mkdirSync(outputDir, { recursive: true });
|
|
20536
20926
|
for (const result of results) {
|
|
20537
20927
|
const filename = routeToFilename(result.route);
|
|
20538
20928
|
const filepath = path7__default.default.join(outputDir, filename);
|
|
20539
|
-
|
|
20540
|
-
|
|
20929
|
+
fs5.mkdirSync(path7__default.default.dirname(filepath), { recursive: true });
|
|
20930
|
+
fs5.writeFileSync(filepath, result.css);
|
|
20541
20931
|
}
|
|
20542
20932
|
const totalSize = results.reduce((sum, r) => sum + r.sizeBytes, 0);
|
|
20543
20933
|
console.log(
|