unplugin-stylex 0.6.1 → 0.6.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/CHANGELOG.md +12 -0
- package/README.md +143 -73
- package/dist/astro.cjs +24 -19
- package/dist/astro.d.ts +38 -16
- package/dist/astro.d.ts.map +1 -0
- package/dist/astro.js +15 -10
- package/dist/{chunk-IU3ZVEOU.cjs → chunk-45JWH4GZ.cjs} +57 -38
- package/dist/{chunk-F2LYIKCV.js → chunk-5RGNKABP.js} +1 -1
- package/dist/{chunk-B3OIQQRZ.js → chunk-SSMUIUHR.js} +41 -22
- package/dist/{chunk-7LU6DGX6.cjs → chunk-WDYGV6FU.cjs} +2 -2
- package/dist/core/build.d.ts +5 -0
- package/dist/core/build.d.ts.map +1 -0
- package/dist/core/options.d.ts +5 -0
- package/dist/core/options.d.ts.map +1 -0
- package/dist/core/plugins.d.ts +2 -0
- package/dist/core/plugins.d.ts.map +1 -0
- package/dist/core/transformers/astro.d.ts +3 -0
- package/dist/core/transformers/astro.d.ts.map +1 -0
- package/dist/core/transformers/default.d.ts +3 -0
- package/dist/core/transformers/default.d.ts.map +1 -0
- package/dist/core/transformers/index.d.ts +3 -0
- package/dist/core/transformers/index.d.ts.map +1 -0
- package/dist/core/transformers/svelte.d.ts +3 -0
- package/dist/core/transformers/svelte.d.ts.map +1 -0
- package/dist/esbuild.cjs +2 -2
- package/dist/esbuild.d.ts +18 -8
- package/dist/esbuild.d.ts.map +1 -0
- package/dist/esbuild.js +1 -1
- package/dist/farm.cjs +2 -2
- package/dist/farm.d.ts +19 -6
- package/dist/farm.d.ts.map +1 -0
- package/dist/farm.js +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.d.ts +7 -11
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -1
- package/dist/rolldown.cjs +2 -2
- package/dist/rolldown.d.ts +20 -8
- package/dist/rolldown.d.ts.map +1 -0
- package/dist/rolldown.js +1 -1
- package/dist/rollup.cjs +2 -2
- package/dist/rollup.d.ts +17 -8
- package/dist/rollup.d.ts.map +1 -0
- package/dist/rollup.js +1 -1
- package/dist/rspack.cjs +2 -2
- package/dist/rspack.d.ts +17 -8
- package/dist/rspack.d.ts.map +1 -0
- package/dist/rspack.js +1 -1
- package/dist/types.d.ts +16 -10
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/constants.d.ts +4 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/get-aliases.d.ts +4 -0
- package/dist/utils/get-aliases.d.ts.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/store.d.ts +4 -0
- package/dist/utils/store.d.ts.map +1 -0
- package/dist/utils/stylex-path.d.ts +4 -0
- package/dist/utils/stylex-path.d.ts.map +1 -0
- package/dist/vite.cjs +3 -3
- package/dist/vite.d.ts +18 -8
- package/dist/vite.d.ts.map +1 -0
- package/dist/vite.js +2 -2
- package/dist/webpack.cjs +2 -2
- package/dist/webpack.d.ts +17 -8
- package/dist/webpack.d.ts.map +1 -0
- package/dist/webpack.js +1 -1
- package/jsr.json +1 -1
- package/package.json +19 -12
- package/tsconfig.json +3 -6
- package/turbo.json +23 -0
- package/dist/astro.d.cts +0 -39
- package/dist/esbuild.d.cts +0 -14
- package/dist/farm.d.cts +0 -11
- package/dist/index.d.cts +0 -20
- package/dist/rolldown.d.cts +0 -14
- package/dist/rollup.d.cts +0 -14
- package/dist/rspack.d.cts +0 -15
- package/dist/types.d.cts +0 -41
- package/dist/vite.d.cts +0 -14
- package/dist/webpack.d.cts +0 -14
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
});
|
|
7
7
|
|
|
8
8
|
// src/index.ts
|
|
9
|
-
var _path = require('path'); var path2 = _interopRequireWildcard(_path);
|
|
9
|
+
var _path = require('path'); var path3 = _interopRequireWildcard(_path); var path2 = _interopRequireWildcard(_path);
|
|
10
10
|
var _unplugin = require('unplugin');
|
|
11
11
|
|
|
12
12
|
// src/core/build.ts
|
|
@@ -26,10 +26,10 @@ var EXTENSIONS = [".js", ".mjs", ".cjs", ".ts", ".mts", ".cts"];
|
|
|
26
26
|
var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs);
|
|
27
27
|
|
|
28
28
|
function makePathAbsolute(value) {
|
|
29
|
-
return
|
|
29
|
+
return path3.default.isAbsolute(value) ? value : path3.default.resolve(process.cwd(), value);
|
|
30
30
|
}
|
|
31
31
|
function isTSProject() {
|
|
32
|
-
const tsConfigPath =
|
|
32
|
+
const tsConfigPath = path3.default.resolve(process.cwd(), "tsconfig.json");
|
|
33
33
|
return _fs2.default.existsSync(tsConfigPath);
|
|
34
34
|
}
|
|
35
35
|
function getAliasesFromTSConfig() {
|
|
@@ -38,7 +38,7 @@ function getAliasesFromTSConfig() {
|
|
|
38
38
|
return void 0;
|
|
39
39
|
}
|
|
40
40
|
try {
|
|
41
|
-
const tsConfigPath =
|
|
41
|
+
const tsConfigPath = path3.default.resolve(process.cwd(), "tsconfig.json");
|
|
42
42
|
const tsConfigContent = _fs2.default.readFileSync(tsConfigPath, "utf8");
|
|
43
43
|
const tsConfig = JSON.parse(tsConfigContent);
|
|
44
44
|
const paths = ((_a = tsConfig == null ? void 0 : tsConfig.compilerOptions) == null ? void 0 : _a.paths) || {};
|
|
@@ -57,12 +57,12 @@ function getAliasesFromTSConfig() {
|
|
|
57
57
|
function getAliasesFromViteConfig() {
|
|
58
58
|
var _a;
|
|
59
59
|
const configFiles = EXTENSIONS.map((ext) => `vite.config${ext}`);
|
|
60
|
-
const configPath = configFiles.find((file) => _fs2.default.existsSync(
|
|
60
|
+
const configPath = configFiles.find((file) => _fs2.default.existsSync(path3.default.resolve(process.cwd(), file)));
|
|
61
61
|
if (!configPath) {
|
|
62
62
|
return {};
|
|
63
63
|
}
|
|
64
64
|
try {
|
|
65
|
-
const configModule = __require(
|
|
65
|
+
const configModule = __require(path3.default.resolve(process.cwd(), configPath));
|
|
66
66
|
const config = typeof configModule === "function" ? configModule() : configModule.default || configModule;
|
|
67
67
|
const aliases = ((_a = config == null ? void 0 : config.resolve) == null ? void 0 : _a.alias) || {};
|
|
68
68
|
return Object.entries(aliases).reduce(
|
|
@@ -79,12 +79,12 @@ function getAliasesFromViteConfig() {
|
|
|
79
79
|
function getAliasesFromWebpackConfig() {
|
|
80
80
|
var _a;
|
|
81
81
|
const configFiles = EXTENSIONS.map((ext) => `webpack.config${ext}`);
|
|
82
|
-
const configPath = configFiles.find((file) => _fs2.default.existsSync(
|
|
82
|
+
const configPath = configFiles.find((file) => _fs2.default.existsSync(path3.default.resolve(process.cwd(), file)));
|
|
83
83
|
if (!configPath) {
|
|
84
84
|
return {};
|
|
85
85
|
}
|
|
86
86
|
try {
|
|
87
|
-
const configContent = _fs2.default.readFileSync(
|
|
87
|
+
const configContent = _fs2.default.readFileSync(path3.default.resolve(process.cwd(), configPath), "utf8");
|
|
88
88
|
const config = JSON.parse(configContent);
|
|
89
89
|
const aliases = ((_a = config == null ? void 0 : config.resolve) == null ? void 0 : _a.alias) || {};
|
|
90
90
|
return Object.entries(aliases).reduce(
|
|
@@ -101,12 +101,12 @@ function getAliasesFromWebpackConfig() {
|
|
|
101
101
|
function getAliasesFromRollupConfig() {
|
|
102
102
|
var _a, _b;
|
|
103
103
|
const configFiles = EXTENSIONS.map((ext) => `rollup.config${ext}`);
|
|
104
|
-
const configPath = configFiles.find((file) => _fs2.default.existsSync(
|
|
104
|
+
const configPath = configFiles.find((file) => _fs2.default.existsSync(path3.default.resolve(process.cwd(), file)));
|
|
105
105
|
if (!configPath) {
|
|
106
106
|
return {};
|
|
107
107
|
}
|
|
108
108
|
try {
|
|
109
|
-
const configModule = __require(
|
|
109
|
+
const configModule = __require(path3.default.resolve(process.cwd(), configPath));
|
|
110
110
|
const config = typeof configModule === "function" ? configModule() : configModule.default || configModule;
|
|
111
111
|
const aliasPlugin = (_a = config == null ? void 0 : config.plugins) == null ? void 0 : _a.find((plugin) => {
|
|
112
112
|
if (typeof plugin === "object" && plugin !== null) {
|
|
@@ -132,12 +132,12 @@ function getAliasesFromRollupConfig() {
|
|
|
132
132
|
function getAliasesFromRolldownConfig() {
|
|
133
133
|
var _a;
|
|
134
134
|
const configFiles = EXTENSIONS.map((ext) => `vite.config${ext}`);
|
|
135
|
-
const configPath = configFiles.find((file) => _fs2.default.existsSync(
|
|
135
|
+
const configPath = configFiles.find((file) => _fs2.default.existsSync(path3.default.resolve(process.cwd(), file)));
|
|
136
136
|
if (!configPath) {
|
|
137
137
|
return {};
|
|
138
138
|
}
|
|
139
139
|
try {
|
|
140
|
-
const configModule = __require(
|
|
140
|
+
const configModule = __require(path3.default.resolve(process.cwd(), configPath));
|
|
141
141
|
const config = typeof configModule === "function" ? configModule() : configModule.default || configModule;
|
|
142
142
|
const aliases = ((_a = config == null ? void 0 : config.resolve) == null ? void 0 : _a.alias) || {};
|
|
143
143
|
return Object.entries(aliases).reduce(
|
|
@@ -157,12 +157,12 @@ function getAliasesFromEsbuildConfig() {
|
|
|
157
157
|
function getAliasesFromRspackConfig() {
|
|
158
158
|
var _a;
|
|
159
159
|
const configFiles = EXTENSIONS.map((ext) => `rspack.config${ext}`);
|
|
160
|
-
const configPath = configFiles.find((file) => _fs2.default.existsSync(
|
|
160
|
+
const configPath = configFiles.find((file) => _fs2.default.existsSync(path3.default.resolve(process.cwd(), file)));
|
|
161
161
|
if (!configPath) {
|
|
162
162
|
return {};
|
|
163
163
|
}
|
|
164
164
|
try {
|
|
165
|
-
const configContent = _fs2.default.readFileSync(
|
|
165
|
+
const configContent = _fs2.default.readFileSync(path3.default.resolve(process.cwd(), configPath), "utf8");
|
|
166
166
|
const config = JSON.parse(configContent);
|
|
167
167
|
const aliases = ((_a = config == null ? void 0 : config.resolve) == null ? void 0 : _a.alias) || {};
|
|
168
168
|
return Object.entries(aliases).reduce(
|
|
@@ -179,12 +179,12 @@ function getAliasesFromRspackConfig() {
|
|
|
179
179
|
function getAliasesFromFarmConfig() {
|
|
180
180
|
var _a;
|
|
181
181
|
const configFiles = EXTENSIONS.map((ext) => `farm.config${ext}`);
|
|
182
|
-
const configPath = configFiles.find((file) => _fs2.default.existsSync(
|
|
182
|
+
const configPath = configFiles.find((file) => _fs2.default.existsSync(path3.default.resolve(process.cwd(), file)));
|
|
183
183
|
if (!configPath) {
|
|
184
184
|
return {};
|
|
185
185
|
}
|
|
186
186
|
try {
|
|
187
|
-
const configModule = __require(
|
|
187
|
+
const configModule = __require(path3.default.resolve(process.cwd(), configPath));
|
|
188
188
|
const config = typeof configModule === "function" ? configModule() : configModule.default || configModule;
|
|
189
189
|
const aliases = ((_a = config == null ? void 0 : config.resolve) == null ? void 0 : _a.alias) || {};
|
|
190
190
|
return Object.entries(aliases).reduce(
|
|
@@ -255,6 +255,19 @@ function getAliases(framework) {
|
|
|
255
255
|
var STORE_KEY = `stylex-${PLUGIN_NAME}`;
|
|
256
256
|
var stylexRulesStore = /* @__PURE__ */ new Map();
|
|
257
257
|
|
|
258
|
+
// src/utils/stylex-path.ts
|
|
259
|
+
|
|
260
|
+
function getStylexAssetFileName(filename, assetsDir = "assets") {
|
|
261
|
+
const normalizedAssetsDir = assetsDir.replace(/[\\/]+$/, "");
|
|
262
|
+
return normalizedAssetsDir ? `${normalizedAssetsDir}/${filename}` : filename;
|
|
263
|
+
}
|
|
264
|
+
function getStylexPublicPath(base, fileName) {
|
|
265
|
+
return path2.posix.join(_nullishCoalesce(base, () => ( "/")), fileName.replace(/\\/g, "/")).replace(/\/+/g, "/");
|
|
266
|
+
}
|
|
267
|
+
function normalizePath(file) {
|
|
268
|
+
return file.replace(/\\/g, "/");
|
|
269
|
+
}
|
|
270
|
+
|
|
258
271
|
// src/core/options.ts
|
|
259
272
|
function getOptions(options) {
|
|
260
273
|
var _a, _b, _c;
|
|
@@ -416,27 +429,30 @@ var transformers = {
|
|
|
416
429
|
// src/index.ts
|
|
417
430
|
var unpluginFactory = (rawOptions, meta) => {
|
|
418
431
|
const options = getOptions({ ...rawOptions || {}, framework: meta.framework });
|
|
432
|
+
const stylexFilename = _nullishCoalesce(options.stylex.filename, () => ( "stylex.css"));
|
|
433
|
+
const stylexImports = _nullishCoalesce(options.stylex.stylexImports, () => ( ["@stylexjs/stylex"]));
|
|
434
|
+
const useCSSLayers = _nullishCoalesce(options.stylex.useCSSLayers, () => ( false));
|
|
419
435
|
if (!stylexRulesStore.has(STORE_KEY)) {
|
|
420
436
|
stylexRulesStore.set(STORE_KEY, {});
|
|
421
437
|
}
|
|
422
|
-
const stylexRules = stylexRulesStore.get(STORE_KEY);
|
|
438
|
+
const stylexRules = _nullishCoalesce(stylexRulesStore.get(STORE_KEY), () => ( {}));
|
|
423
439
|
let viteConfig = null;
|
|
424
440
|
return {
|
|
425
441
|
name: PLUGIN_NAME,
|
|
426
442
|
transformInclude(id) {
|
|
427
443
|
const validExts = options.validExts;
|
|
428
|
-
const extname2 =
|
|
444
|
+
const extname2 = path3.extname(id);
|
|
429
445
|
const questionMarkIndex = extname2.indexOf("?");
|
|
430
446
|
const validExtName = questionMarkIndex > -1 ? extname2.slice(0, questionMarkIndex) : extname2;
|
|
431
447
|
return validExts instanceof RegExp ? validExts.test(validExtName) : validExts.includes(validExtName);
|
|
432
448
|
},
|
|
433
449
|
async transform(code, id) {
|
|
434
|
-
var _a;
|
|
435
|
-
const
|
|
436
|
-
const
|
|
437
|
-
const
|
|
438
|
-
const extname2 =
|
|
439
|
-
if (!
|
|
450
|
+
var _a, _b, _c, _d;
|
|
451
|
+
const file = id.split("?")[0];
|
|
452
|
+
const normalizedFile = normalizePath(file);
|
|
453
|
+
const normalizedId = normalizePath(id);
|
|
454
|
+
const extname2 = path3.extname(file).slice(1);
|
|
455
|
+
if (!stylexImports.some((importName) => code.includes(importName))) {
|
|
440
456
|
return;
|
|
441
457
|
}
|
|
442
458
|
const context = {
|
|
@@ -448,18 +464,19 @@ var unpluginFactory = (rawOptions, meta) => {
|
|
|
448
464
|
try {
|
|
449
465
|
const transformer = _nullishCoalesce(transformers[extname2], () => ( transformers.default));
|
|
450
466
|
const result = await transformer(context);
|
|
451
|
-
|
|
452
|
-
|
|
467
|
+
const transformedRules = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(((_a = result.stylexRules) == null ? void 0 : _a[file]), () => ( ((_b = result.stylexRules) == null ? void 0 : _b[normalizedFile]))), () => ( ((_c = result.stylexRules) == null ? void 0 : _c[id]))), () => ( ((_d = result.stylexRules) == null ? void 0 : _d[normalizedId])));
|
|
468
|
+
if (transformedRules) {
|
|
469
|
+
stylexRules[normalizedFile] = transformedRules;
|
|
453
470
|
}
|
|
454
471
|
return result;
|
|
455
472
|
} catch (error) {
|
|
456
473
|
console.error("transform::error::", error);
|
|
457
|
-
this.error(error);
|
|
474
|
+
this.error(error instanceof Error ? error.message : String(error));
|
|
458
475
|
}
|
|
459
476
|
},
|
|
460
477
|
buildEnd() {
|
|
461
|
-
const fileName =
|
|
462
|
-
const collectedCSS = buildStylexRules(stylexRules,
|
|
478
|
+
const fileName = stylexFilename;
|
|
479
|
+
const collectedCSS = buildStylexRules(stylexRules, useCSSLayers);
|
|
463
480
|
if (!collectedCSS) return;
|
|
464
481
|
this.emitFile({
|
|
465
482
|
fileName,
|
|
@@ -481,14 +498,14 @@ var unpluginFactory = (rawOptions, meta) => {
|
|
|
481
498
|
next();
|
|
482
499
|
return;
|
|
483
500
|
}
|
|
484
|
-
const fileName =
|
|
485
|
-
const cssPath =
|
|
501
|
+
const fileName = getStylexAssetFileName(stylexFilename, _nullishCoalesce(((_a = viteConfig == null ? void 0 : viteConfig.build) == null ? void 0 : _a.assetsDir), () => ( "assets")));
|
|
502
|
+
const cssPath = getStylexPublicPath(viteConfig == null ? void 0 : viteConfig.base, fileName);
|
|
486
503
|
const basePath = (_nullishCoalesce((viteConfig == null ? void 0 : viteConfig.base), () => ( "/"))).replace(/\/+$/, "") || "/";
|
|
487
|
-
const filename =
|
|
504
|
+
const filename = stylexFilename;
|
|
488
505
|
const normalizedUrl = req.url.split("?")[0];
|
|
489
506
|
const isCSSRequest = normalizedUrl === cssPath || normalizedUrl === `${basePath}/${filename}` || normalizedUrl === `/${filename}` || normalizedUrl.endsWith(`/${filename}`) || normalizedUrl === filename;
|
|
490
507
|
if (isCSSRequest) {
|
|
491
|
-
const collectedCSS = buildStylexRules(stylexRules,
|
|
508
|
+
const collectedCSS = buildStylexRules(stylexRules, useCSSLayers);
|
|
492
509
|
res.setHeader("Content-Type", "text/css");
|
|
493
510
|
res.setHeader("Cache-Control", "no-cache");
|
|
494
511
|
res.end(collectedCSS || "");
|
|
@@ -499,8 +516,8 @@ var unpluginFactory = (rawOptions, meta) => {
|
|
|
499
516
|
},
|
|
500
517
|
buildEnd() {
|
|
501
518
|
var _a;
|
|
502
|
-
const fileName =
|
|
503
|
-
const collectedCSS = buildStylexRules(stylexRules,
|
|
519
|
+
const fileName = getStylexAssetFileName(stylexFilename, _nullishCoalesce(((_a = viteConfig == null ? void 0 : viteConfig.build) == null ? void 0 : _a.assetsDir), () => ( "assets")));
|
|
520
|
+
const collectedCSS = buildStylexRules(stylexRules, useCSSLayers);
|
|
504
521
|
if (!collectedCSS) return;
|
|
505
522
|
this.emitFile({
|
|
506
523
|
fileName,
|
|
@@ -510,12 +527,12 @@ var unpluginFactory = (rawOptions, meta) => {
|
|
|
510
527
|
},
|
|
511
528
|
transformIndexHtml(html, ctx) {
|
|
512
529
|
var _a, _b;
|
|
513
|
-
const fileName =
|
|
530
|
+
const fileName = getStylexAssetFileName(stylexFilename, _nullishCoalesce(((_a = viteConfig == null ? void 0 : viteConfig.build) == null ? void 0 : _a.assetsDir), () => ( "assets")));
|
|
514
531
|
const css = (_b = ctx.bundle) == null ? void 0 : _b[fileName];
|
|
515
532
|
if (!css) {
|
|
516
533
|
return html;
|
|
517
534
|
}
|
|
518
|
-
const publicPath =
|
|
535
|
+
const publicPath = getStylexPublicPath(viteConfig == null ? void 0 : viteConfig.base, fileName);
|
|
519
536
|
return [
|
|
520
537
|
{
|
|
521
538
|
tag: "link",
|
|
@@ -542,4 +559,6 @@ var index_default = unplugin;
|
|
|
542
559
|
|
|
543
560
|
|
|
544
561
|
|
|
545
|
-
|
|
562
|
+
|
|
563
|
+
|
|
564
|
+
exports.buildStylexRules = buildStylexRules; exports.PLUGIN_NAME = PLUGIN_NAME; exports.STORE_KEY = STORE_KEY; exports.stylexRulesStore = stylexRulesStore; exports.getStylexAssetFileName = getStylexAssetFileName; exports.getStylexPublicPath = getStylexPublicPath; exports.getOptions = getOptions; exports.unpluginFactory = unpluginFactory; exports.unplugin = unplugin; exports.index_default = index_default;
|
|
@@ -6,7 +6,7 @@ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require
|
|
|
6
6
|
});
|
|
7
7
|
|
|
8
8
|
// src/index.ts
|
|
9
|
-
import * as
|
|
9
|
+
import * as path3 from "path";
|
|
10
10
|
import { createUnplugin } from "unplugin";
|
|
11
11
|
|
|
12
12
|
// src/core/build.ts
|
|
@@ -255,6 +255,19 @@ function getAliases(framework) {
|
|
|
255
255
|
var STORE_KEY = `stylex-${PLUGIN_NAME}`;
|
|
256
256
|
var stylexRulesStore = /* @__PURE__ */ new Map();
|
|
257
257
|
|
|
258
|
+
// src/utils/stylex-path.ts
|
|
259
|
+
import * as path2 from "path";
|
|
260
|
+
function getStylexAssetFileName(filename, assetsDir = "assets") {
|
|
261
|
+
const normalizedAssetsDir = assetsDir.replace(/[\\/]+$/, "");
|
|
262
|
+
return normalizedAssetsDir ? `${normalizedAssetsDir}/${filename}` : filename;
|
|
263
|
+
}
|
|
264
|
+
function getStylexPublicPath(base, fileName) {
|
|
265
|
+
return path2.posix.join(base ?? "/", fileName.replace(/\\/g, "/")).replace(/\/+/g, "/");
|
|
266
|
+
}
|
|
267
|
+
function normalizePath(file) {
|
|
268
|
+
return file.replace(/\\/g, "/");
|
|
269
|
+
}
|
|
270
|
+
|
|
258
271
|
// src/core/options.ts
|
|
259
272
|
function getOptions(options) {
|
|
260
273
|
var _a, _b, _c;
|
|
@@ -416,27 +429,30 @@ var transformers = {
|
|
|
416
429
|
// src/index.ts
|
|
417
430
|
var unpluginFactory = (rawOptions, meta) => {
|
|
418
431
|
const options = getOptions({ ...rawOptions || {}, framework: meta.framework });
|
|
432
|
+
const stylexFilename = options.stylex.filename ?? "stylex.css";
|
|
433
|
+
const stylexImports = options.stylex.stylexImports ?? ["@stylexjs/stylex"];
|
|
434
|
+
const useCSSLayers = options.stylex.useCSSLayers ?? false;
|
|
419
435
|
if (!stylexRulesStore.has(STORE_KEY)) {
|
|
420
436
|
stylexRulesStore.set(STORE_KEY, {});
|
|
421
437
|
}
|
|
422
|
-
const stylexRules = stylexRulesStore.get(STORE_KEY);
|
|
438
|
+
const stylexRules = stylexRulesStore.get(STORE_KEY) ?? {};
|
|
423
439
|
let viteConfig = null;
|
|
424
440
|
return {
|
|
425
441
|
name: PLUGIN_NAME,
|
|
426
442
|
transformInclude(id) {
|
|
427
443
|
const validExts = options.validExts;
|
|
428
|
-
const extname2 =
|
|
444
|
+
const extname2 = path3.extname(id);
|
|
429
445
|
const questionMarkIndex = extname2.indexOf("?");
|
|
430
446
|
const validExtName = questionMarkIndex > -1 ? extname2.slice(0, questionMarkIndex) : extname2;
|
|
431
447
|
return validExts instanceof RegExp ? validExts.test(validExtName) : validExts.includes(validExtName);
|
|
432
448
|
},
|
|
433
449
|
async transform(code, id) {
|
|
434
|
-
var _a;
|
|
435
|
-
const
|
|
436
|
-
const
|
|
437
|
-
const
|
|
438
|
-
const extname2 =
|
|
439
|
-
if (!
|
|
450
|
+
var _a, _b, _c, _d;
|
|
451
|
+
const file = id.split("?")[0];
|
|
452
|
+
const normalizedFile = normalizePath(file);
|
|
453
|
+
const normalizedId = normalizePath(id);
|
|
454
|
+
const extname2 = path3.extname(file).slice(1);
|
|
455
|
+
if (!stylexImports.some((importName) => code.includes(importName))) {
|
|
440
456
|
return;
|
|
441
457
|
}
|
|
442
458
|
const context = {
|
|
@@ -448,18 +464,19 @@ var unpluginFactory = (rawOptions, meta) => {
|
|
|
448
464
|
try {
|
|
449
465
|
const transformer = transformers[extname2] ?? transformers.default;
|
|
450
466
|
const result = await transformer(context);
|
|
451
|
-
|
|
452
|
-
|
|
467
|
+
const transformedRules = ((_a = result.stylexRules) == null ? void 0 : _a[file]) ?? ((_b = result.stylexRules) == null ? void 0 : _b[normalizedFile]) ?? ((_c = result.stylexRules) == null ? void 0 : _c[id]) ?? ((_d = result.stylexRules) == null ? void 0 : _d[normalizedId]);
|
|
468
|
+
if (transformedRules) {
|
|
469
|
+
stylexRules[normalizedFile] = transformedRules;
|
|
453
470
|
}
|
|
454
471
|
return result;
|
|
455
472
|
} catch (error) {
|
|
456
473
|
console.error("transform::error::", error);
|
|
457
|
-
this.error(error);
|
|
474
|
+
this.error(error instanceof Error ? error.message : String(error));
|
|
458
475
|
}
|
|
459
476
|
},
|
|
460
477
|
buildEnd() {
|
|
461
|
-
const fileName =
|
|
462
|
-
const collectedCSS = buildStylexRules(stylexRules,
|
|
478
|
+
const fileName = stylexFilename;
|
|
479
|
+
const collectedCSS = buildStylexRules(stylexRules, useCSSLayers);
|
|
463
480
|
if (!collectedCSS) return;
|
|
464
481
|
this.emitFile({
|
|
465
482
|
fileName,
|
|
@@ -481,14 +498,14 @@ var unpluginFactory = (rawOptions, meta) => {
|
|
|
481
498
|
next();
|
|
482
499
|
return;
|
|
483
500
|
}
|
|
484
|
-
const fileName =
|
|
485
|
-
const cssPath =
|
|
501
|
+
const fileName = getStylexAssetFileName(stylexFilename, ((_a = viteConfig == null ? void 0 : viteConfig.build) == null ? void 0 : _a.assetsDir) ?? "assets");
|
|
502
|
+
const cssPath = getStylexPublicPath(viteConfig == null ? void 0 : viteConfig.base, fileName);
|
|
486
503
|
const basePath = ((viteConfig == null ? void 0 : viteConfig.base) ?? "/").replace(/\/+$/, "") || "/";
|
|
487
|
-
const filename =
|
|
504
|
+
const filename = stylexFilename;
|
|
488
505
|
const normalizedUrl = req.url.split("?")[0];
|
|
489
506
|
const isCSSRequest = normalizedUrl === cssPath || normalizedUrl === `${basePath}/${filename}` || normalizedUrl === `/${filename}` || normalizedUrl.endsWith(`/${filename}`) || normalizedUrl === filename;
|
|
490
507
|
if (isCSSRequest) {
|
|
491
|
-
const collectedCSS = buildStylexRules(stylexRules,
|
|
508
|
+
const collectedCSS = buildStylexRules(stylexRules, useCSSLayers);
|
|
492
509
|
res.setHeader("Content-Type", "text/css");
|
|
493
510
|
res.setHeader("Cache-Control", "no-cache");
|
|
494
511
|
res.end(collectedCSS || "");
|
|
@@ -499,8 +516,8 @@ var unpluginFactory = (rawOptions, meta) => {
|
|
|
499
516
|
},
|
|
500
517
|
buildEnd() {
|
|
501
518
|
var _a;
|
|
502
|
-
const fileName =
|
|
503
|
-
const collectedCSS = buildStylexRules(stylexRules,
|
|
519
|
+
const fileName = getStylexAssetFileName(stylexFilename, ((_a = viteConfig == null ? void 0 : viteConfig.build) == null ? void 0 : _a.assetsDir) ?? "assets");
|
|
520
|
+
const collectedCSS = buildStylexRules(stylexRules, useCSSLayers);
|
|
504
521
|
if (!collectedCSS) return;
|
|
505
522
|
this.emitFile({
|
|
506
523
|
fileName,
|
|
@@ -510,12 +527,12 @@ var unpluginFactory = (rawOptions, meta) => {
|
|
|
510
527
|
},
|
|
511
528
|
transformIndexHtml(html, ctx) {
|
|
512
529
|
var _a, _b;
|
|
513
|
-
const fileName =
|
|
530
|
+
const fileName = getStylexAssetFileName(stylexFilename, ((_a = viteConfig == null ? void 0 : viteConfig.build) == null ? void 0 : _a.assetsDir) ?? "assets");
|
|
514
531
|
const css = (_b = ctx.bundle) == null ? void 0 : _b[fileName];
|
|
515
532
|
if (!css) {
|
|
516
533
|
return html;
|
|
517
534
|
}
|
|
518
|
-
const publicPath =
|
|
535
|
+
const publicPath = getStylexPublicPath(viteConfig == null ? void 0 : viteConfig.base, fileName);
|
|
519
536
|
return [
|
|
520
537
|
{
|
|
521
538
|
tag: "link",
|
|
@@ -538,6 +555,8 @@ export {
|
|
|
538
555
|
PLUGIN_NAME,
|
|
539
556
|
STORE_KEY,
|
|
540
557
|
stylexRulesStore,
|
|
558
|
+
getStylexAssetFileName,
|
|
559
|
+
getStylexPublicPath,
|
|
541
560
|
getOptions,
|
|
542
561
|
unpluginFactory,
|
|
543
562
|
unplugin,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunk45JWH4GZcjs = require('./chunk-45JWH4GZ.cjs');
|
|
4
4
|
|
|
5
5
|
// src/vite.ts
|
|
6
6
|
var _unplugin = require('unplugin');
|
|
7
|
-
var vitePlugin = _unplugin.createVitePlugin.call(void 0,
|
|
7
|
+
var vitePlugin = _unplugin.createVitePlugin.call(void 0, _chunk45JWH4GZcjs.unpluginFactory);
|
|
8
8
|
var vite_default = vitePlugin;
|
|
9
9
|
|
|
10
10
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/core/build.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAGlD,wBAAgB,gBAAgB,CAAC,WAAW,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,CAAA;CAAE,EAAE,YAAY,EAAE,OAAO,GAAG,MAAM,CAKtG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/core/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAGpE,wBAAgB,UAAU,CAAC,OAAO,EAAE,qBAAqB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAyBlH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/core/plugins.ts"],"names":[],"mappings":"AAGA,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,SAG/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"astro.d.ts","sourceRoot":"","sources":["../../../src/core/transformers/astro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAG5D,eAAO,MAAM,KAAK,EAAE,yBAgDnB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../src/core/transformers/default.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAG5D,eAAO,MAAM,kBAAkB,EAAE,yBAwChC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/transformers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAK5D,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAIzD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svelte.d.ts","sourceRoot":"","sources":["../../../src/core/transformers/svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAG5D,eAAO,MAAM,MAAM,EAAE,yBAgCpB,CAAA"}
|
package/dist/esbuild.cjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunk45JWH4GZcjs = require('./chunk-45JWH4GZ.cjs');
|
|
4
4
|
require('./chunk-ZBPRDZS4.cjs');
|
|
5
5
|
|
|
6
6
|
// src/esbuild.ts
|
|
7
7
|
var _unplugin = require('unplugin');
|
|
8
|
-
var esbuildPlugin = _unplugin.createEsbuildPlugin.call(void 0,
|
|
8
|
+
var esbuildPlugin = _unplugin.createEsbuildPlugin.call(void 0, _chunk45JWH4GZcjs.unpluginFactory);
|
|
9
9
|
var esbuild_default = esbuildPlugin;
|
|
10
10
|
|
|
11
11
|
|
package/dist/esbuild.d.ts
CHANGED
|
@@ -1,14 +1,24 @@
|
|
|
1
|
-
import { EsbuildPlugin } from 'unplugin';
|
|
2
|
-
import { UnpluginStylexInstance } from './types.js';
|
|
3
|
-
import '@babel/core';
|
|
4
|
-
import '@stylexjs/babel-plugin';
|
|
5
|
-
|
|
6
1
|
/**
|
|
7
2
|
* This entry file is for esbuild plugin. Requires esbuild >= 0.15
|
|
8
3
|
*
|
|
9
4
|
* @module
|
|
10
5
|
*/
|
|
11
|
-
|
|
6
|
+
import type { EsbuildPlugin } from 'unplugin';
|
|
7
|
+
import type { UnpluginStylexInstance } from './types';
|
|
12
8
|
declare const esbuildPlugin: UnpluginStylexInstance<EsbuildPlugin | EsbuildPlugin[]>;
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Esbuild plugin
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
*
|
|
14
|
+
* import { build } from 'esbuild'
|
|
15
|
+
* import stylexPlugin from 'unplugin-stylex/esbuild'
|
|
16
|
+
*
|
|
17
|
+
* export default {
|
|
18
|
+
* plugins: [
|
|
19
|
+
* stylexPlugin(),
|
|
20
|
+
* ],
|
|
21
|
+
* }
|
|
22
|
+
*/
|
|
23
|
+
export default esbuildPlugin;
|
|
24
|
+
//# sourceMappingURL=esbuild.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"esbuild.d.ts","sourceRoot":"","sources":["../src/esbuild.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAG7C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAErD,QAAA,MAAM,aAAa,EAAE,sBAAsB,CAAC,aAAa,GAAG,aAAa,EAAE,CAAwC,CAAA;AAEnH;;;;;;;;;;;;;GAaG;AACH,eAAe,aAAa,CAAA"}
|
package/dist/esbuild.js
CHANGED
package/dist/farm.cjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunk45JWH4GZcjs = require('./chunk-45JWH4GZ.cjs');
|
|
4
4
|
require('./chunk-ZBPRDZS4.cjs');
|
|
5
5
|
|
|
6
6
|
// src/farm.ts
|
|
7
7
|
var _unplugin = require('unplugin');
|
|
8
|
-
var farmPlugin = _unplugin.createFarmPlugin.call(void 0,
|
|
8
|
+
var farmPlugin = _unplugin.createFarmPlugin.call(void 0, _chunk45JWH4GZcjs.unpluginFactory);
|
|
9
9
|
var farm_default = farmPlugin;
|
|
10
10
|
|
|
11
11
|
|
package/dist/farm.d.ts
CHANGED
|
@@ -1,11 +1,24 @@
|
|
|
1
|
-
import { createFarmPlugin } from 'unplugin';
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
2
|
* This entry file is for farm plugin.
|
|
5
3
|
*
|
|
6
4
|
* @module
|
|
7
5
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
import type { UnpluginInstance } from 'unplugin';
|
|
7
|
+
import type { UnpluginStylexOptions } from './types';
|
|
8
|
+
declare const farmPlugin: UnpluginInstance<UnpluginStylexOptions | undefined>['farm'];
|
|
9
|
+
/**
|
|
10
|
+
* Farm plugin
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
*
|
|
14
|
+
* import { build } from 'esbuild'
|
|
15
|
+
* import stylexPlugin from 'unplugin-stylex/farm'
|
|
16
|
+
*
|
|
17
|
+
* export default {
|
|
18
|
+
* plugins: [
|
|
19
|
+
* stylexPlugin(),
|
|
20
|
+
* ],
|
|
21
|
+
* }
|
|
22
|
+
*/
|
|
23
|
+
export default farmPlugin;
|
|
24
|
+
//# sourceMappingURL=farm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"farm.d.ts","sourceRoot":"","sources":["../src/farm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAGhD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAEpD,QAAA,MAAM,UAAU,EAAE,gBAAgB,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC,MAAM,CAAqC,CAAA;AAEjH;;;;;;;;;;;;;GAaG;AACH,eAAe,UAAU,CAAA"}
|
package/dist/farm.js
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunk45JWH4GZcjs = require('./chunk-45JWH4GZ.cjs');
|
|
6
6
|
require('./chunk-ZBPRDZS4.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
exports.default =
|
|
11
|
+
exports.default = _chunk45JWH4GZcjs.index_default; exports.unplugin = _chunk45JWH4GZcjs.unplugin; exports.unpluginFactory = _chunk45JWH4GZcjs.unpluginFactory;
|