@animus-ui/next-plugin 0.1.39 → 0.1.41

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/README.md CHANGED
@@ -180,8 +180,9 @@ no face preloads.
180
180
  place of their `preload` flags, for an app that renders only some of a
181
181
  system's faces: a family name selects every face of the family, and
182
182
  `{ family, weight?, style? }` the faces whose declared weight contains
183
- `weight` and whose style is `style` (`'normal'` when omitted). `[]` preloads
184
- none. An entry no face matches reports `animus.style.font-preload-unmatched`;
183
+ `weight` and whose style is `style` (`'normal'` when omitted). An entry's
184
+ `fetchpriority` (`'high'`, `'low'` or `'auto'`) reaches the preloads of the
185
+ faces it selects. `[]` preloads none. An entry no face matches reports `animus.style.font-preload-unmatched`;
185
186
  a malformed one, such as a weight range, `animus.style.font-preload-invalid`.
186
187
 
187
188
  **App Router:** render `AnimusFontPreloads` in the root layout. React hoists
@@ -245,7 +246,7 @@ is reported too. Declare components in `.ts` or `.tsx` files and import them.
245
246
 
246
247
  - Transforms `@animus-ui/system` builder chains into static CSS (webpack loader or Turbopack loader rule)
247
248
  - Emits extracted CSS as a separate asset with `@layer` ordering
248
- - Post-processes the emitted sheet with Lightning CSS — autoprefixed for your `targets` (browserslist query; defaults to the project config), minified in production (`minify` overrides)
249
+ - Post-processes the emitted sheet with Lightning CSS — autoprefixed for your `targets` (browserslist query; defaults to the project config), minified in production (`minify` overrides). Targets without `:dir()` lower it to `:lang()`, which an element that sets only `dir` does not match; the build warns, and `keepDirSelector: true` keeps it as written, adding `dir-selector` to `experimental.lightningCssFeatures.exclude` so Next's own Lightning CSS pass keeps it too
249
250
  - Works with both App Router and Pages Router
250
251
  - Supports RSC — no runtime style injection means server components work out of the box
251
252
 
@@ -16,10 +16,11 @@ virtual_animus_font_preloads = require_rolldown_runtime.__toESM(virtual_animus_f
16
16
  * `next/font` too. Renders nothing; a no-op when no face preloads.
17
17
  */
18
18
  function AnimusFontPreloads() {
19
- for (const { href, type } of virtual_animus_font_preloads.default) (0, react_dom.preload)(href, {
19
+ for (const { href, type, fetchpriority } of virtual_animus_font_preloads.default) (0, react_dom.preload)(href, {
20
20
  as: "font",
21
21
  type,
22
- crossOrigin: ""
22
+ crossOrigin: "",
23
+ fetchPriority: fetchpriority
23
24
  });
24
25
  return null;
25
26
  }
@@ -28,12 +29,13 @@ function AnimusFontPreloads() {
28
29
  * `<link>` tags any React version renders. Empty when no face preloads.
29
30
  */
30
31
  function AnimusFontPreloadLinks() {
31
- return (0, react.createElement)(react.Fragment, null, ...virtual_animus_font_preloads.default.map(({ href, type }) => (0, react.createElement)("link", {
32
+ return (0, react.createElement)(react.Fragment, null, ...virtual_animus_font_preloads.default.map(({ href, type, fetchpriority }) => (0, react.createElement)("link", {
32
33
  key: href,
33
34
  rel: "preload",
34
35
  href,
35
36
  as: "font",
36
37
  type,
38
+ fetchPriority: fetchpriority,
37
39
  crossOrigin: ""
38
40
  })));
39
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"font-preloads.d.ts","sourceRoot":"","sources":["../src/font-preloads.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAK1C;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,YAAY,CAerD"}
1
+ {"version":3,"file":"font-preloads.d.ts","sourceRoot":"","sources":["../src/font-preloads.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAK1C;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAUzC;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,YAAY,CAgBrD"}
@@ -13,10 +13,11 @@ import preloads from "virtual:animus/font-preloads";
13
13
  * `next/font` too. Renders nothing; a no-op when no face preloads.
14
14
  */
15
15
  function AnimusFontPreloads() {
16
- for (const { href, type } of preloads) preload(href, {
16
+ for (const { href, type, fetchpriority } of preloads) preload(href, {
17
17
  as: "font",
18
18
  type,
19
- crossOrigin: ""
19
+ crossOrigin: "",
20
+ fetchPriority: fetchpriority
20
21
  });
21
22
  return null;
22
23
  }
@@ -25,12 +26,13 @@ function AnimusFontPreloads() {
25
26
  * `<link>` tags any React version renders. Empty when no face preloads.
26
27
  */
27
28
  function AnimusFontPreloadLinks() {
28
- return createElement(Fragment, null, ...preloads.map(({ href, type }) => createElement("link", {
29
+ return createElement(Fragment, null, ...preloads.map(({ href, type, fetchpriority }) => createElement("link", {
29
30
  key: href,
30
31
  rel: "preload",
31
32
  href,
32
33
  as: "font",
33
34
  type,
35
+ fetchPriority: fetchpriority,
34
36
  crossOrigin: ""
35
37
  })));
36
38
  }
package/dist/index.cjs CHANGED
@@ -3,9 +3,9 @@ const require_turbopack_config = require("./turbopack-config-W5eoa_xN.cjs");
3
3
  let _animus_ui_extract_pipeline = require("@animus-ui/extract/pipeline");
4
4
  let _animus_ui_extract_session = require("@animus-ui/extract/session");
5
5
  let fs = require("fs");
6
+ let module$1 = require("module");
6
7
  let path = require("path");
7
8
  let url = require("url");
8
- let module$1 = require("module");
9
9
  //#region src/same-directory.ts
10
10
  /** Whether two paths name one directory: by real path, which resolves a
11
11
  * trailing slash, a symlink and the filesystem's own spelling, else by
@@ -458,6 +458,7 @@ const PHASE_DEVELOPMENT_SERVER = "phase-development-server";
458
458
  const PHASE_PRODUCTION_BUILD = "phase-production-build";
459
459
  let warnedGitignore = false;
460
460
  let warnedUnstableTurbopack = false;
461
+ let warnedLoweredDir = false;
461
462
  function withAnimus(options) {
462
463
  (0, _animus_ui_extract_pipeline.assertSupportedEngine)(options.engine);
463
464
  if (!options.system) throw new Error("[animus-extract] Missing required option `system`. Provide the path to your SystemInstance module: withAnimus({ system: \"./src/ds.ts\" })");
@@ -480,8 +481,8 @@ function withAnimus(options) {
480
481
  const build = (0, _animus_ui_extract_session.createBuildId)();
481
482
  const appRoot = options.root === void 0 ? process.cwd() : (0, path.resolve)(options.root);
482
483
  return (authoredConfig) => {
483
- const nextConfig = withTranspiled(authoredConfig, transpiledPackages(appRoot));
484
484
  const turbopack = require_turbopack_config.resolveTurbopackMode(options);
485
+ const nextConfig = withKeptDirSelector(withTranspiled(authoredConfig, transpiledPackages(appRoot)), options.keepDirSelector === true, turbopack || "TURBOPACK" in process.env, appRoot);
485
486
  if (options.quarantine && (turbopack || "TURBOPACK" in process.env)) throw new _animus_ui_extract_pipeline.AnimusConfigError(QUARANTINE_TURBOPACK_MESSAGE);
486
487
  if (turbopack) {
487
488
  warnTurbopackCwdRoot(options, appRoot);
@@ -636,6 +637,50 @@ function withTranspiled(nextConfig, packages) {
636
637
  transpilePackages: [...declared, ...added]
637
638
  };
638
639
  }
640
+ /**
641
+ * The config with Next's own Lightning CSS pass told to keep `:dir()`, as
642
+ * `keepDirSelector` keeps it in Animus's sheet: that pass, Turbopack's and
643
+ * webpack's under `experimental.useLightningcss`, lowers it again for the
644
+ * app's browserslist. The caller's other features stay. A Next whose
645
+ * `experimental.lightningCssFeatures` cannot name the feature is told, when
646
+ * its pass runs, rather than given a key it rejects.
647
+ */
648
+ function withKeptDirSelector(nextConfig, keep, turbopack, appRoot) {
649
+ if (!keep) return nextConfig;
650
+ const experimental = nextConfig.experimental ?? {};
651
+ if (!nextNamesLightningCssFeature(appRoot, DIR_SELECTOR)) {
652
+ if ((turbopack || experimental.useLightningcss) && !warnedLoweredDir) {
653
+ warnedLoweredDir = true;
654
+ console.warn("[animus-extract] keepDirSelector keeps :dir() in Animus's stylesheet, but this Next has no experimental.lightningCssFeatures to keep it in its own Lightning CSS pass, which lowers it to :lang() for the app's browserslist: an element that sets only dir does not match. Upgrade Next, or raise the browserslist to browsers that support :dir() (Chrome 120, Firefox 49, Safari 16.4).");
655
+ }
656
+ return nextConfig;
657
+ }
658
+ const features = experimental.lightningCssFeatures ?? {};
659
+ const exclude = features.exclude ?? [];
660
+ if (exclude.includes(DIR_SELECTOR)) return nextConfig;
661
+ return {
662
+ ...nextConfig,
663
+ experimental: {
664
+ ...experimental,
665
+ lightningCssFeatures: {
666
+ ...features,
667
+ exclude: [...exclude, DIR_SELECTOR]
668
+ }
669
+ }
670
+ };
671
+ }
672
+ /** Next's name for the Lightning CSS feature that lowers `:dir()`. */
673
+ const DIR_SELECTOR = "dir-selector";
674
+ /** Whether the app's Next takes `feature` in
675
+ * `experimental.lightningCssFeatures`: its config module lists the names. */
676
+ function nextNamesLightningCssFeature(appRoot, feature) {
677
+ try {
678
+ const names = (0, module$1.createRequire)((0, path.join)(appRoot, "package.json"))("next/dist/server/config-shared").LIGHTNINGCSS_FEATURE_NAMES;
679
+ return Array.isArray(names) && names.includes(feature);
680
+ } catch {
681
+ return false;
682
+ }
683
+ }
639
684
  /** The packages Next must transpile: the source kits the app depends on,
640
685
  * since the kit redirect points both bundles at a kit's TypeScript source,
641
686
  * and this package, whose font-preloads entry imports the session module
package/dist/index.mjs CHANGED
@@ -2,9 +2,9 @@ import { a as resolveTurbopackMode, i as resolveTurbopackLoaderPath, n as buildT
2
2
  import { AnimusConfigError, assembleStylesheet, assertKnownOptionKeys, assertSupportedEngine, buildPathAliasesJson, builtInAssetClassification, fontPreloadsModule, isEngineTransformExtension, isExcludedPackageRelativePath, isPathWithinRoot, keepsKitSourceEffects, layergateMissing, layergateOptions, nextImageAssetClassification, outputExclusion, resolveMode, sourceKitDependencies, turbopackExtensionPolicy, webpackExtensionPolicy, withVendorLayer } from "@animus-ui/extract/pipeline";
3
3
  import { ANIMUS_CSS_MODULE_ID, ANIMUS_CSS_MODULE_ID as ANIMUS_CSS_MODULE_ID$1, ExtractionSession, FONT_PRELOADS_MODULE_ID, TURBOPACK_SYSTEM_PROPS_ID, createBuildId, fontPreloadsPath, getAnalysisStartedPromise, getReplacementEpoch, getSharedCss, getSharedExternalDirs, getSharedExternalEntries, getSharedExternalSideEffects, replacementEpochPath, requireEngine, resetAnalysisStartedPromise, runSessionPipeline, sessionArtifactDir, setAnalysisStartedPromise, startTurbopackWatcher, stylesPath, systemPropsPath } from "@animus-ui/extract/session";
4
4
  import { existsSync, mkdirSync, readFileSync, realpathSync, statSync, writeFileSync } from "fs";
5
+ import { createRequire } from "module";
5
6
  import { dirname, join, resolve, sep } from "path";
6
7
  import { fileURLToPath } from "url";
7
- import { createRequire } from "module";
8
8
  //#region src/same-directory.ts
9
9
  /** Whether two paths name one directory: by real path, which resolves a
10
10
  * trailing slash, a symlink and the filesystem's own spelling, else by
@@ -457,6 +457,7 @@ const PHASE_DEVELOPMENT_SERVER = "phase-development-server";
457
457
  const PHASE_PRODUCTION_BUILD = "phase-production-build";
458
458
  let warnedGitignore = false;
459
459
  let warnedUnstableTurbopack = false;
460
+ let warnedLoweredDir = false;
460
461
  function withAnimus(options) {
461
462
  assertSupportedEngine(options.engine);
462
463
  if (!options.system) throw new Error("[animus-extract] Missing required option `system`. Provide the path to your SystemInstance module: withAnimus({ system: \"./src/ds.ts\" })");
@@ -479,8 +480,8 @@ function withAnimus(options) {
479
480
  const build = createBuildId();
480
481
  const appRoot = options.root === void 0 ? process.cwd() : resolve(options.root);
481
482
  return (authoredConfig) => {
482
- const nextConfig = withTranspiled(authoredConfig, transpiledPackages(appRoot));
483
483
  const turbopack = resolveTurbopackMode(options);
484
+ const nextConfig = withKeptDirSelector(withTranspiled(authoredConfig, transpiledPackages(appRoot)), options.keepDirSelector === true, turbopack || "TURBOPACK" in process.env, appRoot);
484
485
  if (options.quarantine && (turbopack || "TURBOPACK" in process.env)) throw new AnimusConfigError(QUARANTINE_TURBOPACK_MESSAGE);
485
486
  if (turbopack) {
486
487
  warnTurbopackCwdRoot(options, appRoot);
@@ -635,6 +636,50 @@ function withTranspiled(nextConfig, packages) {
635
636
  transpilePackages: [...declared, ...added]
636
637
  };
637
638
  }
639
+ /**
640
+ * The config with Next's own Lightning CSS pass told to keep `:dir()`, as
641
+ * `keepDirSelector` keeps it in Animus's sheet: that pass, Turbopack's and
642
+ * webpack's under `experimental.useLightningcss`, lowers it again for the
643
+ * app's browserslist. The caller's other features stay. A Next whose
644
+ * `experimental.lightningCssFeatures` cannot name the feature is told, when
645
+ * its pass runs, rather than given a key it rejects.
646
+ */
647
+ function withKeptDirSelector(nextConfig, keep, turbopack, appRoot) {
648
+ if (!keep) return nextConfig;
649
+ const experimental = nextConfig.experimental ?? {};
650
+ if (!nextNamesLightningCssFeature(appRoot, DIR_SELECTOR)) {
651
+ if ((turbopack || experimental.useLightningcss) && !warnedLoweredDir) {
652
+ warnedLoweredDir = true;
653
+ console.warn("[animus-extract] keepDirSelector keeps :dir() in Animus's stylesheet, but this Next has no experimental.lightningCssFeatures to keep it in its own Lightning CSS pass, which lowers it to :lang() for the app's browserslist: an element that sets only dir does not match. Upgrade Next, or raise the browserslist to browsers that support :dir() (Chrome 120, Firefox 49, Safari 16.4).");
654
+ }
655
+ return nextConfig;
656
+ }
657
+ const features = experimental.lightningCssFeatures ?? {};
658
+ const exclude = features.exclude ?? [];
659
+ if (exclude.includes(DIR_SELECTOR)) return nextConfig;
660
+ return {
661
+ ...nextConfig,
662
+ experimental: {
663
+ ...experimental,
664
+ lightningCssFeatures: {
665
+ ...features,
666
+ exclude: [...exclude, DIR_SELECTOR]
667
+ }
668
+ }
669
+ };
670
+ }
671
+ /** Next's name for the Lightning CSS feature that lowers `:dir()`. */
672
+ const DIR_SELECTOR = "dir-selector";
673
+ /** Whether the app's Next takes `feature` in
674
+ * `experimental.lightningCssFeatures`: its config module lists the names. */
675
+ function nextNamesLightningCssFeature(appRoot, feature) {
676
+ try {
677
+ const names = createRequire(join(appRoot, "package.json"))("next/dist/server/config-shared").LIGHTNINGCSS_FEATURE_NAMES;
678
+ return Array.isArray(names) && names.includes(feature);
679
+ } catch {
680
+ return false;
681
+ }
682
+ }
638
683
  /** The packages Next must transpile: the source kits the app depends on,
639
684
  * since the kit redirect points both bundles at a kit's TypeScript source,
640
685
  * and this package, whose font-preloads entry imports the session module
package/dist/types.d.ts CHANGED
@@ -55,6 +55,13 @@ export interface AnimusNextOptions {
55
55
  /** Browserslist query string or array. Falls back to the project's
56
56
  * browserslist config, then to `defaults`. */
57
57
  targets?: string | string[];
58
+ /** Keeps `:dir()` as written where the targets would lower it to
59
+ * `:lang()` over right-to-left language codes, which an element that sets
60
+ * only `dir` does not match. It also adds `dir-selector` to
61
+ * `experimental.lightningCssFeatures.exclude`, so Next's own Lightning CSS
62
+ * pass (Turbopack's, or webpack's under `useLightningcss`) keeps it; a
63
+ * Next without that key warns. */
64
+ keepDirSelector?: boolean;
58
65
  /** `true`/`false` force minification on or off; absent minifies in
59
66
  * production. Autoprefixing applies either way. */
60
67
  minify?: boolean;
@@ -96,8 +103,9 @@ export interface AnimusNextOptions {
96
103
  closedDynamicImports?: ClosedDynamicImport[];
97
104
  /** The font faces this app preloads, in place of each typed face's own
98
105
  * `preload` flag, so a face declared once for every product preloads only
99
- * where the app renders it: family names, or `{ family, weight?, style? }`
100
- * (see `FontPreloadEntry`). `[]` preloads none. */
106
+ * where the app renders it: family names, or `{ family, weight?, style?,
107
+ * unicodeRange?, fetchpriority? }` (see `FontPreloadEntry`). `[]`
108
+ * preloads none. */
101
109
  fontPreloads?: FontPreloadEntry[];
102
110
  /**
103
111
  * Load third-party stylesheets into `anm-vendor`, a layer below every
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EAChB,MAAM,6BAA6B,CAAC;AAErC,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf;;;0DAGsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;6CAKyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;+EAC2E;IAC3E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;mDAG+C;IAC/C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;mDAI+C;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B;0EACsE;IACtE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC5B;;sDAEkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;gBAEY;IACZ,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;yEACqE;IACrE,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;mDAC+C;IAC/C,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B;wDACoD;IACpD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;yEACqE;IACrE,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;IACpC;gFAC4E;IAC5E,MAAM,CAAC,EAAE,IAAI,CAAC;IACd;qEACiE;IACjE,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAAA;KAAE,CAAC;IAC7C;;;;sBAIkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;sCACkC;IAClC,kBAAkB,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACtD;qEACiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;+EAC2E;IAC3E,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;sEAEkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;4EAEwE;IACxE,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7C;;;wDAGoD;IACpD,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAClC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,uBAAuB,CAAC;CACtC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EAChB,MAAM,6BAA6B,CAAC;AAErC,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf;;;0DAGsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;6CAKyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;+EAC2E;IAC3E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;mDAG+C;IAC/C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;mDAI+C;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B;0EACsE;IACtE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC5B;;sDAEkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;gBAEY;IACZ,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;yEACqE;IACrE,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;mDAC+C;IAC/C,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B;;;;;uCAKmC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;wDACoD;IACpD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;yEACqE;IACrE,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;IACpC;gFAC4E;IAC5E,MAAM,CAAC,EAAE,IAAI,CAAC;IACd;qEACiE;IACjE,SAAS,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAAA;KAAE,CAAC;IAC7C;;;;sBAIkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;sCACkC;IAClC,kBAAkB,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACtD;qEACiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;+EAC2E;IAC3E,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;sEAEkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;4EAEwE;IACxE,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7C;;;;yBAIqB;IACrB,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAClC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,uBAAuB,CAAC;CACtC"}
@@ -38,11 +38,17 @@ interface NextConfigBoundary {
38
38
  webpack?: NextWebpackHook | null;
39
39
  turbopack?: TurbopackOptions;
40
40
  /** The legacy home of Turbopack's options, which Next still merges into
41
- * `turbopack` for a config written before the key moved. */
41
+ * `turbopack` for a config written before the key moved, and the
42
+ * Lightning CSS pass's switches. */
42
43
  experimental?: {
43
44
  turbo?: {
44
45
  resolveExtensions?: string[];
45
46
  };
47
+ useLightningcss?: boolean;
48
+ lightningCssFeatures?: {
49
+ include?: string[];
50
+ exclude?: string[];
51
+ };
46
52
  };
47
53
  }
48
54
  type CallableNextConfig = (...args: never[]) => NextOwnedConfig | Promise<NextOwnedConfig>;
@@ -1 +1 @@
1
- {"version":3,"file":"with-animus.d.ts","sourceRoot":"","sources":["../src/with-animus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"with-animus.d.ts","sourceRoot":"","sources":["../src/with-animus.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@animus-ui/next-plugin",
3
- "version": "0.1.39",
3
+ "version": "0.1.41",
4
4
  "description": "Animus static CSS extraction for Next.js (webpack)",
5
5
  "keywords": [
6
6
  "animus",
@@ -44,14 +44,14 @@
44
44
  "compile": "bun check"
45
45
  },
46
46
  "dependencies": {
47
- "@animus-ui/extract": "0.1.39"
47
+ "@animus-ui/extract": "0.1.41"
48
48
  },
49
49
  "devDependencies": {
50
- "@animus-ui/assertions": "0.1.39",
51
- "@animus-ui/layergate": "0.1.39"
50
+ "@animus-ui/assertions": "0.1.41",
51
+ "@animus-ui/layergate": "0.1.41"
52
52
  },
53
53
  "peerDependencies": {
54
- "@animus-ui/layergate": "0.1.39",
54
+ "@animus-ui/layergate": "0.1.41",
55
55
  "next": ">=15 <17",
56
56
  "webpack": ">=5 <6"
57
57
  },