unplugin-stylex 0.5.4 → 0.6.0

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.
@@ -50,7 +50,7 @@ function getAliasesFromTSConfig() {
50
50
  {}
51
51
  );
52
52
  return Object.keys(aliases).length > 0 ? aliases : void 0;
53
- } catch (error) {
53
+ } catch (e) {
54
54
  return void 0;
55
55
  }
56
56
  }
@@ -72,7 +72,7 @@ function getAliasesFromViteConfig() {
72
72
  },
73
73
  {}
74
74
  );
75
- } catch (error) {
75
+ } catch (e2) {
76
76
  return {};
77
77
  }
78
78
  }
@@ -94,7 +94,7 @@ function getAliasesFromWebpackConfig() {
94
94
  },
95
95
  {}
96
96
  );
97
- } catch (error) {
97
+ } catch (e3) {
98
98
  return {};
99
99
  }
100
100
  }
@@ -125,7 +125,7 @@ function getAliasesFromRollupConfig() {
125
125
  },
126
126
  {}
127
127
  );
128
- } catch (error) {
128
+ } catch (e4) {
129
129
  return {};
130
130
  }
131
131
  }
@@ -147,7 +147,7 @@ function getAliasesFromRolldownConfig() {
147
147
  },
148
148
  {}
149
149
  );
150
- } catch (error) {
150
+ } catch (e5) {
151
151
  return {};
152
152
  }
153
153
  }
@@ -172,7 +172,7 @@ function getAliasesFromRspackConfig() {
172
172
  },
173
173
  {}
174
174
  );
175
- } catch (error) {
175
+ } catch (e6) {
176
176
  return {};
177
177
  }
178
178
  }
@@ -194,7 +194,7 @@ function getAliasesFromFarmConfig() {
194
194
  },
195
195
  {}
196
196
  );
197
- } catch (error) {
197
+ } catch (e7) {
198
198
  return {};
199
199
  }
200
200
  }
@@ -251,6 +251,10 @@ function getAliases(framework) {
251
251
  }
252
252
  }
253
253
 
254
+ // src/utils/store.ts
255
+ var STORE_KEY = `stylex-${PLUGIN_NAME}`;
256
+ var stylexRulesStore = /* @__PURE__ */ new Map();
257
+
254
258
  // src/core/options.ts
255
259
  function getOptions(options) {
256
260
  var _a, _b, _c;
@@ -260,8 +264,8 @@ function getOptions(options) {
260
264
  return {
261
265
  ...options,
262
266
  dev: isDev,
263
- // .js, .jsx, .mjs, .cjs, .ts, .tsx, .mts, .cts
264
- validExts: _nullishCoalesce(options.validExts, () => ( /\.[mc]?[jt]sx?$/)),
267
+ // .js, .jsx, .mjs, .cjs, .ts, .tsx, .mts, .cts, .svelte, .vue
268
+ validExts: _nullishCoalesce(options.validExts, () => ( /\.[mc]?[jt]sx?$|\.svelte$|\.vue$/)),
265
269
  stylex: {
266
270
  filename: stylex2.filename || "stylex.css",
267
271
  stylexImports: stylex2.stylexImports || ["@stylexjs/stylex"],
@@ -279,7 +283,7 @@ function getOptions(options) {
279
283
  };
280
284
  }
281
285
 
282
- // src/core/transformer.ts
286
+ // src/core/transformers/default.ts
283
287
 
284
288
  var _core = require('@babel/core');
285
289
  var _pluginsyntaxjsx = require('@babel/plugin-syntax-jsx'); var _pluginsyntaxjsx2 = _interopRequireDefault(_pluginsyntaxjsx);
@@ -293,11 +297,11 @@ function getSyntaxPlugins(extname2) {
293
297
  return [".js", ".jsx"].includes(extname2) ? [_pluginsyntaxflow2.default] : TSPlugin;
294
298
  }
295
299
 
296
- // src/core/transformer.ts
297
- async function transformer(context) {
300
+ // src/core/transformers/default.ts
301
+ var defaultTransformer = async (context) => {
298
302
  var _a, _b, _c, _d;
299
- const { id, inputCode, options } = context;
300
- const stylex2 = options.stylex;
303
+ const { inputCode, id, options } = context;
304
+ const stylex2 = _nullishCoalesce(options.stylex, () => ( {}));
301
305
  const extname2 = _path.extname.call(void 0, id);
302
306
  const stylexRules = {};
303
307
  const stylexBabelPluginOptions = {
@@ -329,12 +333,93 @@ async function transformer(context) {
329
333
  };
330
334
  }
331
335
  return { code, stylexRules };
332
- }
336
+ };
337
+
338
+ // src/core/transformers/astro.ts
339
+ var astro = async (context) => {
340
+ const { inputCode, id, options } = context;
341
+ const frontmatterMatch = inputCode.match(/^---\s*\n([\s\S]*?)\n---\s*\n?([\s\S]*)$/);
342
+ if (!frontmatterMatch) {
343
+ return {
344
+ code: inputCode,
345
+ map: void 0,
346
+ stylexRules: {}
347
+ };
348
+ }
349
+ const frontmatterContent = frontmatterMatch[1];
350
+ const templateContent = _nullishCoalesce(frontmatterMatch[2], () => ( ""));
351
+ const stylex2 = _nullishCoalesce(options.stylex, () => ( {}));
352
+ const stylexImports = _nullishCoalesce(stylex2.stylexImports, () => ( ["@stylexjs/stylex"]));
353
+ if (!stylexImports.some((importName) => frontmatterContent.includes(importName))) {
354
+ return {
355
+ code: inputCode,
356
+ map: void 0,
357
+ stylexRules: {}
358
+ };
359
+ }
360
+ const ctx = {
361
+ id,
362
+ inputCode: frontmatterContent,
363
+ pluginContext: context.pluginContext,
364
+ options
365
+ };
366
+ const result = await defaultTransformer(ctx);
367
+ const transformedFrontmatter = `---
368
+ ${result.code}
369
+ ---`;
370
+ const transformedCode = transformedFrontmatter + (templateContent ? `
371
+ ${templateContent}` : "");
372
+ return {
373
+ code: transformedCode,
374
+ map: result.map,
375
+ stylexRules: result.stylexRules
376
+ };
377
+ };
378
+
379
+ // src/core/transformers/svelte.ts
380
+ var svelte = async (context) => {
381
+ const { inputCode, id, options } = context;
382
+ const scriptMatch = inputCode.match(/<script([^>]*)>([\s\S]*?)<\/script>/i);
383
+ if (!scriptMatch) {
384
+ return {
385
+ code: inputCode,
386
+ map: void 0,
387
+ stylexRules: {}
388
+ };
389
+ }
390
+ const scriptAttrs = scriptMatch[1];
391
+ const scriptContent = scriptMatch[2];
392
+ const fullScriptTag = scriptMatch[0];
393
+ const ctx = {
394
+ id,
395
+ inputCode: scriptContent,
396
+ pluginContext: void 0,
397
+ options
398
+ };
399
+ const result = await defaultTransformer(ctx);
400
+ const transformedScriptTag = `<script${scriptAttrs}>${result.code}</script>`;
401
+ const transformedCode = inputCode.replace(fullScriptTag, transformedScriptTag);
402
+ return {
403
+ code: transformedCode,
404
+ map: result.map,
405
+ stylexRules: result.stylexRules
406
+ };
407
+ };
408
+
409
+ // src/core/transformers/index.ts
410
+ var transformers = {
411
+ astro,
412
+ svelte,
413
+ default: defaultTransformer
414
+ };
333
415
 
334
416
  // src/index.ts
335
417
  var unpluginFactory = (rawOptions, meta) => {
336
418
  const options = getOptions({ ...rawOptions || {}, framework: meta.framework });
337
- const stylexRules = {};
419
+ if (!stylexRulesStore.has(STORE_KEY)) {
420
+ stylexRulesStore.set(STORE_KEY, {});
421
+ }
422
+ const stylexRules = stylexRulesStore.get(STORE_KEY);
338
423
  let viteConfig = null;
339
424
  return {
340
425
  name: PLUGIN_NAME,
@@ -350,6 +435,7 @@ var unpluginFactory = (rawOptions, meta) => {
350
435
  const dir = path2.dirname(id);
351
436
  const basename2 = path2.basename(id);
352
437
  const file = path2.join(dir, basename2.includes("?") ? basename2.split("?")[0] : basename2);
438
+ const extname2 = path2.extname(file).slice(1);
353
439
  if (!options.stylex.stylexImports.some((importName) => code.includes(importName))) {
354
440
  return;
355
441
  }
@@ -360,6 +446,7 @@ var unpluginFactory = (rawOptions, meta) => {
360
446
  options
361
447
  };
362
448
  try {
449
+ const transformer = _nullishCoalesce(transformers[extname2], () => ( transformers.default));
363
450
  const result = await transformer(context);
364
451
  if ((_a = result.stylexRules) == null ? void 0 : _a[id]) {
365
452
  stylexRules[id] = result.stylexRules[id];
@@ -387,9 +474,28 @@ var unpluginFactory = (rawOptions, meta) => {
387
474
  base: config.base
388
475
  };
389
476
  },
390
- configResolved(config) {
391
- config.optimizeDeps.exclude = config.optimizeDeps.exclude || [];
392
- config.optimizeDeps.exclude.push("@stylexjs/open-props");
477
+ configureServer(server) {
478
+ server.middlewares.use((req, res, next) => {
479
+ var _a;
480
+ if (!req.url) {
481
+ next();
482
+ return;
483
+ }
484
+ const fileName = `${_nullishCoalesce(((_a = viteConfig == null ? void 0 : viteConfig.build) == null ? void 0 : _a.assetsDir), () => ( "assets"))}/${options.stylex.filename}`;
485
+ const cssPath = path2.posix.join(_nullishCoalesce((viteConfig == null ? void 0 : viteConfig.base), () => ( "/")), fileName.replace(/\\/g, "/")).replace(/\/+/g, "/");
486
+ const basePath = (_nullishCoalesce((viteConfig == null ? void 0 : viteConfig.base), () => ( "/"))).replace(/\/+$/, "") || "/";
487
+ const filename = options.stylex.filename;
488
+ const normalizedUrl = req.url.split("?")[0];
489
+ const isCSSRequest = normalizedUrl === cssPath || normalizedUrl === `${basePath}/${filename}` || normalizedUrl === `/${filename}` || normalizedUrl.endsWith(`/${filename}`) || normalizedUrl === filename;
490
+ if (isCSSRequest) {
491
+ const collectedCSS = buildStylexRules(stylexRules, options.stylex.useCSSLayers);
492
+ res.setHeader("Content-Type", "text/css");
493
+ res.setHeader("Cache-Control", "no-cache");
494
+ res.end(collectedCSS || "");
495
+ return;
496
+ }
497
+ next();
498
+ });
393
499
  },
394
500
  buildEnd() {
395
501
  var _a;
@@ -431,4 +537,9 @@ var index_default = unplugin;
431
537
 
432
538
 
433
539
 
434
- exports.unpluginFactory = unpluginFactory; exports.unplugin = unplugin; exports.index_default = index_default;
540
+
541
+
542
+
543
+
544
+
545
+ exports.buildStylexRules = buildStylexRules; exports.PLUGIN_NAME = PLUGIN_NAME; exports.STORE_KEY = STORE_KEY; exports.stylexRulesStore = stylexRulesStore; exports.getOptions = getOptions; exports.unpluginFactory = unpluginFactory; exports.unplugin = unplugin; exports.index_default = index_default;
package/dist/esbuild.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkNQYXBBLCcjs = require('./chunk-NQYXBBLC.cjs');
3
+ var _chunkIU3ZVEOUcjs = require('./chunk-IU3ZVEOU.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, _chunkNQYXBBLCcjs.unpluginFactory);
8
+ var esbuildPlugin = _unplugin.createEsbuildPlugin.call(void 0, _chunkIU3ZVEOUcjs.unpluginFactory);
9
9
  var esbuild_default = esbuildPlugin;
10
10
 
11
11
 
@@ -1,5 +1,7 @@
1
1
  import { EsbuildPlugin } from 'unplugin';
2
2
  import { UnpluginStylexInstance } from './types.cjs';
3
+ import '@babel/core';
4
+ import '@stylexjs/babel-plugin';
3
5
 
4
6
  /**
5
7
  * This entry file is for esbuild plugin. Requires esbuild >= 0.15
package/dist/esbuild.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import { EsbuildPlugin } from 'unplugin';
2
2
  import { UnpluginStylexInstance } from './types.js';
3
+ import '@babel/core';
4
+ import '@stylexjs/babel-plugin';
3
5
 
4
6
  /**
5
7
  * This entry file is for esbuild plugin. Requires esbuild >= 0.15
package/dist/esbuild.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  unpluginFactory
3
- } from "./chunk-QPFVWZ5B.js";
3
+ } from "./chunk-B3OIQQRZ.js";
4
4
  import "./chunk-6F4PWJZI.js";
5
5
 
6
6
  // src/esbuild.ts
package/dist/farm.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkNQYXBBLCcjs = require('./chunk-NQYXBBLC.cjs');
3
+ var _chunkIU3ZVEOUcjs = require('./chunk-IU3ZVEOU.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, _chunkNQYXBBLCcjs.unpluginFactory);
8
+ var farmPlugin = _unplugin.createFarmPlugin.call(void 0, _chunkIU3ZVEOUcjs.unpluginFactory);
9
9
  var farm_default = farmPlugin;
10
10
 
11
11
 
package/dist/farm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  unpluginFactory
3
- } from "./chunk-QPFVWZ5B.js";
3
+ } from "./chunk-B3OIQQRZ.js";
4
4
  import "./chunk-6F4PWJZI.js";
5
5
 
6
6
  // src/farm.ts
package/dist/index.cjs CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkNQYXBBLCcjs = require('./chunk-NQYXBBLC.cjs');
5
+ var _chunkIU3ZVEOUcjs = require('./chunk-IU3ZVEOU.cjs');
6
6
  require('./chunk-ZBPRDZS4.cjs');
7
7
 
8
8
 
9
9
 
10
10
 
11
- exports.default = _chunkNQYXBBLCcjs.index_default; exports.unplugin = _chunkNQYXBBLCcjs.unplugin; exports.unpluginFactory = _chunkNQYXBBLCcjs.unpluginFactory;
11
+ exports.default = _chunkIU3ZVEOUcjs.index_default; exports.unplugin = _chunkIU3ZVEOUcjs.unplugin; exports.unpluginFactory = _chunkIU3ZVEOUcjs.unpluginFactory;
package/dist/index.d.cts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { UnpluginInstance, UnpluginFactory } from 'unplugin';
2
2
  import { UnpluginStylexOptions } from './types.cjs';
3
- export { BabelConfig, StylexOptions, UnpluginStylexInstance } from './types.cjs';
3
+ export { BabelConfig, StylexOptions, UnpluginStylexInstance, UnpluginStylexTransformer } from './types.cjs';
4
+ import '@babel/core';
5
+ import '@stylexjs/babel-plugin';
4
6
 
5
7
  /**
6
8
  * This entry file is for main unplugin.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { UnpluginInstance, UnpluginFactory } from 'unplugin';
2
2
  import { UnpluginStylexOptions } from './types.js';
3
- export { BabelConfig, StylexOptions, UnpluginStylexInstance } from './types.js';
3
+ export { BabelConfig, StylexOptions, UnpluginStylexInstance, UnpluginStylexTransformer } from './types.js';
4
+ import '@babel/core';
5
+ import '@stylexjs/babel-plugin';
4
6
 
5
7
  /**
6
8
  * This entry file is for main unplugin.
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ import {
2
2
  index_default,
3
3
  unplugin,
4
4
  unpluginFactory
5
- } from "./chunk-QPFVWZ5B.js";
5
+ } from "./chunk-B3OIQQRZ.js";
6
6
  import "./chunk-6F4PWJZI.js";
7
7
  export {
8
8
  index_default as default,
package/dist/rolldown.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkNQYXBBLCcjs = require('./chunk-NQYXBBLC.cjs');
3
+ var _chunkIU3ZVEOUcjs = require('./chunk-IU3ZVEOU.cjs');
4
4
  require('./chunk-ZBPRDZS4.cjs');
5
5
 
6
6
  // src/rolldown.ts
7
7
  var _unplugin = require('unplugin');
8
- var rolldownPlugin = _unplugin.createRolldownPlugin.call(void 0, _chunkNQYXBBLCcjs.unpluginFactory);
8
+ var rolldownPlugin = _unplugin.createRolldownPlugin.call(void 0, _chunkIU3ZVEOUcjs.unpluginFactory);
9
9
  var rolldown_default = rolldownPlugin;
10
10
 
11
11
 
@@ -1,5 +1,7 @@
1
1
  import { RolldownPlugin } from 'unplugin';
2
2
  import { UnpluginStylexInstance } from './types.cjs';
3
+ import '@babel/core';
4
+ import '@stylexjs/babel-plugin';
3
5
 
4
6
  /**
5
7
  * This entry file is for rolldown plugin.
@@ -1,5 +1,7 @@
1
1
  import { RolldownPlugin } from 'unplugin';
2
2
  import { UnpluginStylexInstance } from './types.js';
3
+ import '@babel/core';
4
+ import '@stylexjs/babel-plugin';
3
5
 
4
6
  /**
5
7
  * This entry file is for rolldown plugin.
package/dist/rolldown.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  unpluginFactory
3
- } from "./chunk-QPFVWZ5B.js";
3
+ } from "./chunk-B3OIQQRZ.js";
4
4
  import "./chunk-6F4PWJZI.js";
5
5
 
6
6
  // src/rolldown.ts
package/dist/rollup.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkNQYXBBLCcjs = require('./chunk-NQYXBBLC.cjs');
3
+ var _chunkIU3ZVEOUcjs = require('./chunk-IU3ZVEOU.cjs');
4
4
  require('./chunk-ZBPRDZS4.cjs');
5
5
 
6
6
  // src/rollup.ts
7
7
  var _unplugin = require('unplugin');
8
- var rollupPlugin = _unplugin.createRollupPlugin.call(void 0, _chunkNQYXBBLCcjs.unpluginFactory);
8
+ var rollupPlugin = _unplugin.createRollupPlugin.call(void 0, _chunkIU3ZVEOUcjs.unpluginFactory);
9
9
  var rollup_default = rollupPlugin;
10
10
 
11
11
 
package/dist/rollup.d.cts CHANGED
@@ -1,5 +1,7 @@
1
1
  import { RollupPlugin } from 'unplugin';
2
2
  import { UnpluginStylexInstance } from './types.cjs';
3
+ import '@babel/core';
4
+ import '@stylexjs/babel-plugin';
3
5
 
4
6
  /**
5
7
  * This entry file is for Rollup plugin.
package/dist/rollup.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import { RollupPlugin } from 'unplugin';
2
2
  import { UnpluginStylexInstance } from './types.js';
3
+ import '@babel/core';
4
+ import '@stylexjs/babel-plugin';
3
5
 
4
6
  /**
5
7
  * This entry file is for Rollup plugin.
package/dist/rollup.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  unpluginFactory
3
- } from "./chunk-QPFVWZ5B.js";
3
+ } from "./chunk-B3OIQQRZ.js";
4
4
  import "./chunk-6F4PWJZI.js";
5
5
 
6
6
  // src/rollup.ts
package/dist/rspack.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkNQYXBBLCcjs = require('./chunk-NQYXBBLC.cjs');
3
+ var _chunkIU3ZVEOUcjs = require('./chunk-IU3ZVEOU.cjs');
4
4
  require('./chunk-ZBPRDZS4.cjs');
5
5
 
6
6
  // src/rspack.ts
7
7
  var _unplugin = require('unplugin');
8
- var rspackPlugin = _unplugin.createRspackPlugin.call(void 0, _chunkNQYXBBLCcjs.unpluginFactory);
8
+ var rspackPlugin = _unplugin.createRspackPlugin.call(void 0, _chunkIU3ZVEOUcjs.unpluginFactory);
9
9
  var rspack_default = rspackPlugin;
10
10
 
11
11
 
package/dist/rspack.d.cts CHANGED
@@ -1,5 +1,7 @@
1
1
  import { RspackPluginInstance } from 'unplugin';
2
2
  import { UnpluginStylexInstance } from './types.cjs';
3
+ import '@babel/core';
4
+ import '@stylexjs/babel-plugin';
3
5
 
4
6
  /**
5
7
  * This entry file is for Rspack plugin.
package/dist/rspack.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import { RspackPluginInstance } from 'unplugin';
2
2
  import { UnpluginStylexInstance } from './types.js';
3
+ import '@babel/core';
4
+ import '@stylexjs/babel-plugin';
3
5
 
4
6
  /**
5
7
  * This entry file is for Rspack plugin.
package/dist/rspack.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  unpluginFactory
3
- } from "./chunk-QPFVWZ5B.js";
3
+ } from "./chunk-B3OIQQRZ.js";
4
4
  import "./chunk-6F4PWJZI.js";
5
5
 
6
6
  // src/rspack.ts
package/dist/types.d.cts CHANGED
@@ -1,3 +1,6 @@
1
+ import { SourceMap } from '@babel/core';
2
+ import { Rule } from '@stylexjs/babel-plugin';
3
+
1
4
  type BabelConfig = {
2
5
  plugins: unknown[];
3
6
  presets: unknown[];
@@ -24,5 +27,15 @@ type UnpluginStylexOptions = {
24
27
  stylex?: StylexOptions;
25
28
  };
26
29
  type UnpluginStylexInstance<T> = (options?: UnpluginStylexOptions) => T;
30
+ type UnpluginStylexTransformer = (context: {
31
+ inputCode: string;
32
+ id: string;
33
+ options: UnpluginStylexOptions;
34
+ pluginContext: unknown;
35
+ }) => Promise<{
36
+ code: string;
37
+ map?: SourceMap | null;
38
+ stylexRules: Record<string, Rule[]>;
39
+ }>;
27
40
 
28
- export type { BabelConfig, StylexOptions, UnpluginStylexInstance, UnpluginStylexOptions };
41
+ export type { BabelConfig, StylexOptions, UnpluginStylexInstance, UnpluginStylexOptions, UnpluginStylexTransformer };
package/dist/types.d.ts CHANGED
@@ -1,3 +1,6 @@
1
+ import { SourceMap } from '@babel/core';
2
+ import { Rule } from '@stylexjs/babel-plugin';
3
+
1
4
  type BabelConfig = {
2
5
  plugins: unknown[];
3
6
  presets: unknown[];
@@ -24,5 +27,15 @@ type UnpluginStylexOptions = {
24
27
  stylex?: StylexOptions;
25
28
  };
26
29
  type UnpluginStylexInstance<T> = (options?: UnpluginStylexOptions) => T;
30
+ type UnpluginStylexTransformer = (context: {
31
+ inputCode: string;
32
+ id: string;
33
+ options: UnpluginStylexOptions;
34
+ pluginContext: unknown;
35
+ }) => Promise<{
36
+ code: string;
37
+ map?: SourceMap | null;
38
+ stylexRules: Record<string, Rule[]>;
39
+ }>;
27
40
 
28
- export type { BabelConfig, StylexOptions, UnpluginStylexInstance, UnpluginStylexOptions };
41
+ export type { BabelConfig, StylexOptions, UnpluginStylexInstance, UnpluginStylexOptions, UnpluginStylexTransformer };
package/dist/vite.cjs CHANGED
@@ -1,12 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkNQYXBBLCcjs = require('./chunk-NQYXBBLC.cjs');
3
+ var _chunk7LU6DGX6cjs = require('./chunk-7LU6DGX6.cjs');
4
+ require('./chunk-IU3ZVEOU.cjs');
4
5
  require('./chunk-ZBPRDZS4.cjs');
5
6
 
6
- // src/vite.ts
7
- var _unplugin = require('unplugin');
8
- var vitePlugin = _unplugin.createVitePlugin.call(void 0, _chunkNQYXBBLCcjs.unpluginFactory);
9
- var vite_default = vitePlugin;
10
7
 
11
-
12
- exports.default = vite_default;
8
+ exports.default = _chunk7LU6DGX6cjs.vite_default;
package/dist/vite.d.cts CHANGED
@@ -1,5 +1,7 @@
1
1
  import { VitePlugin } from 'unplugin';
2
2
  import { UnpluginStylexInstance } from './types.cjs';
3
+ import '@babel/core';
4
+ import '@stylexjs/babel-plugin';
3
5
 
4
6
  /**
5
7
  * This entry file is for Vite plugin.
package/dist/vite.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import { VitePlugin } from 'unplugin';
2
2
  import { UnpluginStylexInstance } from './types.js';
3
+ import '@babel/core';
4
+ import '@stylexjs/babel-plugin';
3
5
 
4
6
  /**
5
7
  * This entry file is for Vite plugin.
package/dist/vite.js CHANGED
@@ -1,12 +1,8 @@
1
1
  import {
2
- unpluginFactory
3
- } from "./chunk-QPFVWZ5B.js";
2
+ vite_default
3
+ } from "./chunk-F2LYIKCV.js";
4
+ import "./chunk-B3OIQQRZ.js";
4
5
  import "./chunk-6F4PWJZI.js";
5
-
6
- // src/vite.ts
7
- import { createVitePlugin } from "unplugin";
8
- var vitePlugin = createVitePlugin(unpluginFactory);
9
- var vite_default = vitePlugin;
10
6
  export {
11
7
  vite_default as default
12
8
  };
package/dist/webpack.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkNQYXBBLCcjs = require('./chunk-NQYXBBLC.cjs');
3
+ var _chunkIU3ZVEOUcjs = require('./chunk-IU3ZVEOU.cjs');
4
4
  require('./chunk-ZBPRDZS4.cjs');
5
5
 
6
6
  // src/webpack.ts
7
7
  var _unplugin = require('unplugin');
8
- var webpackPlugin = _unplugin.createWebpackPlugin.call(void 0, _chunkNQYXBBLCcjs.unpluginFactory);
8
+ var webpackPlugin = _unplugin.createWebpackPlugin.call(void 0, _chunkIU3ZVEOUcjs.unpluginFactory);
9
9
  var webpack_default = webpackPlugin;
10
10
 
11
11
 
@@ -1,5 +1,7 @@
1
1
  import { WebpackPluginInstance } from 'unplugin';
2
2
  import { UnpluginStylexInstance } from './types.cjs';
3
+ import '@babel/core';
4
+ import '@stylexjs/babel-plugin';
3
5
 
4
6
  /**
5
7
  * This entry file is for Webpack plugin.
package/dist/webpack.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import { WebpackPluginInstance } from 'unplugin';
2
2
  import { UnpluginStylexInstance } from './types.js';
3
+ import '@babel/core';
4
+ import '@stylexjs/babel-plugin';
3
5
 
4
6
  /**
5
7
  * This entry file is for Webpack plugin.
package/dist/webpack.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  unpluginFactory
3
- } from "./chunk-QPFVWZ5B.js";
3
+ } from "./chunk-B3OIQQRZ.js";
4
4
  import "./chunk-6F4PWJZI.js";
5
5
 
6
6
  // src/webpack.ts
package/jsr.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eryue0220/unplugin-stylex",
3
- "version": "0.5.4",
3
+ "version": "0.6.0",
4
4
  "exports": {
5
5
  "./index": "./src/index.ts",
6
6
  "./esbuild": "./src/esbuild.ts",
@@ -11,5 +11,10 @@
11
11
  "./vite": "./src/vite.ts",
12
12
  "./webpack": "./src/webpack.ts"
13
13
  },
14
+ "imports": {
15
+ "@/types": "./src/types.ts",
16
+ "@/utils": "./src/utils/index.ts",
17
+ "@/utils/*": "./src/utils/*"
18
+ },
14
19
  "exclude": [".eslintrc.json", ".eslintignore", "test", "examples", "pnpm-lock.yaml", "pnpm-workspace.yaml"]
15
20
  }