@seyuna/postcss 1.0.0-canary.17 → 1.0.0-canary.18

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 CHANGED
@@ -1,3 +1,10 @@
1
+ # [1.0.0-canary.18](https://github.com/seyuna-corp/seyuna-postcss/compare/v1.0.0-canary.17...v1.0.0-canary.18) (2026-01-10)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * break circular dependency between config.ts and parser.ts ([88ae984](https://github.com/seyuna-corp/seyuna-postcss/commit/88ae9848ed2eb4d4ca5fb6340cbe5aa1c986f1b8))
7
+
1
8
  # [1.0.0-canary.17](https://github.com/seyuna-corp/seyuna-postcss/compare/v1.0.0-canary.16...v1.0.0-canary.17) (2026-01-10)
2
9
 
3
10
 
@@ -1,4 +1,4 @@
1
1
  import { AtRule } from "postcss";
2
- import { PluginContext } from "../config.js";
2
+ import { PluginContext } from "../types.js";
3
3
  export declare const light: (atRule: AtRule, context: PluginContext) => void;
4
4
  export declare const dark: (atRule: AtRule, context: PluginContext) => void;
@@ -1,5 +1,5 @@
1
1
  import { AtRule } from "postcss";
2
- import { PluginContext } from "../config.js";
2
+ import { PluginContext } from "../types.js";
3
3
  /**
4
4
  * Handler for @each-standard-color
5
5
  */
@@ -1,5 +1,5 @@
1
1
  import { AtRule } from "postcss";
2
- import { PluginContext } from "../config.js";
2
+ import { PluginContext } from "../types.js";
3
3
  /**
4
4
  * Custom PostCSS plugin handler for responsive at-rules.
5
5
  *
@@ -1,5 +1,5 @@
1
1
  import { AtRule } from "postcss";
2
- import { PluginContext } from "../config.js";
2
+ import { PluginContext } from "../types.js";
3
3
  export interface AtRuleHandler {
4
4
  name: string;
5
5
  handler: (atRule: AtRule, context: PluginContext) => void;
package/dist/config.d.ts CHANGED
@@ -1,17 +1,5 @@
1
- import { SeyunaConfig } from './types.js';
2
- import { FunctionMap } from './parser.js';
3
- export interface PluginOptions {
4
- configPath?: string;
5
- modeAttribute?: string;
6
- strict?: boolean;
7
- config?: SeyunaConfig;
8
- functions?: FunctionMap;
9
- }
10
- export interface PluginContext {
11
- config: SeyunaConfig;
12
- options: Required<PluginOptions>;
13
- functions: FunctionMap;
14
- }
1
+ import { SeyunaConfig, PluginOptions } from './types.js';
2
+ export type { PluginOptions, PluginContext, FunctionMap } from './types.js';
15
3
  export declare function loadConfig(options?: PluginOptions): {
16
4
  config: SeyunaConfig;
17
5
  options: Required<PluginOptions>;
package/dist/errors.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Node } from 'postcss';
2
- import { PluginContext } from "./config.js";
2
+ import { PluginContext } from './types.js';
3
3
  export declare function reportError(message: string, node: Node, context: PluginContext, options?: {
4
4
  word?: string;
5
5
  index?: number;
@@ -1,4 +1,4 @@
1
- import { PluginContext } from "../config.js";
1
+ import { PluginContext } from "../types.js";
2
2
  export declare function sc(context: PluginContext, name: string, alpha?: string, lightness?: string, chroma?: string): string;
3
3
  export declare function fc(context: PluginContext, name: string, alpha?: string, lightness?: string, chroma?: string): string;
4
4
  export declare function alpha(context: PluginContext, color: string, value: string): string;
@@ -1,3 +1,3 @@
1
- import { PluginContext } from "../config.js";
1
+ import { PluginContext } from "../types.js";
2
2
  export type FnHandler = (context: PluginContext, ...args: string[]) => string;
3
3
  export declare const functions: Record<string, FnHandler>;
@@ -1,4 +1,4 @@
1
- import { PluginContext } from "../config.js";
1
+ import { PluginContext } from "../types.js";
2
2
  /**
3
3
  * Accesses values from the Seyuna configuration using dot notation
4
4
  * Example: theme(ui.theme.breakpoints.tablet)
package/dist/helpers.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Rule, ChildNode, AtRule } from "postcss";
2
- import { PluginContext } from "./config.js";
2
+ import { PluginContext } from './types.js';
3
3
  /**
4
4
  * Helper: clone nodes and replace {name} placeholders safely
5
5
  * Returns only valid Rules or Declarations (never raw AtRules)
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- declare const plugin: import("postcss").PluginCreator<import("./config.js").PluginOptions> & {
1
+ declare const plugin: import("postcss").PluginCreator<import("./types.js").PluginOptions> & {
2
2
  postcss: boolean;
3
3
  functions: Record<string, import("./functions/index.js").FnHandler>;
4
4
  };
package/dist/parser.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import { Node } from 'postcss';
2
- import { PluginContext } from './config.js';
3
- export type FunctionMap = Record<string, (context: PluginContext, ...args: string[]) => string>;
2
+ import { PluginContext, FunctionMap } from './types.js';
3
+ export type { FunctionMap } from './types.js';
4
4
  export declare function processFunctions(value: string, fnMap: FunctionMap, node: Node, context: PluginContext): string;
package/dist/plugin.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { PluginCreator } from "postcss";
2
- import { PluginOptions as ConfigOptions } from "./config.js";
3
- export declare const dynamicFunctionsPlugin: PluginCreator<ConfigOptions>;
2
+ import { PluginOptions } from "./types.js";
3
+ export declare const dynamicFunctionsPlugin: PluginCreator<PluginOptions>;
package/dist/types.d.ts CHANGED
@@ -1 +1,14 @@
1
1
  export type { Config as SeyunaConfig, Color } from "@seyuna/cli/types";
2
+ export type FunctionMap = Record<string, (context: PluginContext, ...args: string[]) => string>;
3
+ export interface PluginOptions {
4
+ configPath?: string;
5
+ modeAttribute?: string;
6
+ strict?: boolean;
7
+ config?: import("@seyuna/cli/types").Config;
8
+ functions?: FunctionMap;
9
+ }
10
+ export interface PluginContext {
11
+ config: import("@seyuna/cli/types").Config;
12
+ options: Required<PluginOptions>;
13
+ functions: FunctionMap;
14
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seyuna/postcss",
3
- "version": "1.0.0-canary.17",
3
+ "version": "1.0.0-canary.18",
4
4
  "description": "Seyuna UI's postcss plugin",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,5 +1,5 @@
1
1
  import { Rule, AtRule, ChildNode } from "postcss";
2
- import { PluginContext } from "../config.js";
2
+ import { PluginContext } from "../types.js";
3
3
 
4
4
  /**
5
5
  * Custom PostCSS plugin handler factory for `@light` and `@dark` at-rules.
@@ -1,5 +1,5 @@
1
1
  import { AtRule } from "postcss";
2
- import { PluginContext } from "../config.js";
2
+ import { PluginContext } from "../types.js";
3
3
  import { generateRules } from "../helpers.js";
4
4
 
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  import { AtRule, ChildNode } from "postcss";
2
- import { PluginContext } from "../config.js";
2
+ import { PluginContext } from "../types.js";
3
3
 
4
4
  /**
5
5
  * Custom PostCSS plugin handler for responsive at-rules.
@@ -2,7 +2,7 @@ import { AtRule } from "postcss";
2
2
  import { eachStandardColor, eachFixedColor } from "./color.js";
3
3
  import container from "./container.js";
4
4
  import { light, dark } from "./color-scheme.js";
5
- import { PluginContext } from "../config.js";
5
+ import { PluginContext } from "../types.js";
6
6
 
7
7
  // Each handler has a name (matches the at-rule) and the function
8
8
  export interface AtRuleHandler {
package/src/config.ts CHANGED
@@ -1,21 +1,9 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
- import { SeyunaConfig } from './types.js';
4
- import { FunctionMap } from './parser.js';
3
+ import { SeyunaConfig, PluginOptions, PluginContext, FunctionMap } from './types.js';
5
4
 
6
- export interface PluginOptions {
7
- configPath?: string;
8
- modeAttribute?: string;
9
- strict?: boolean;
10
- config?: SeyunaConfig;
11
- functions?: FunctionMap;
12
- }
13
-
14
- export interface PluginContext {
15
- config: SeyunaConfig;
16
- options: Required<PluginOptions>;
17
- functions: FunctionMap;
18
- }
5
+ // Re-export types for backwards compatibility
6
+ export type { PluginOptions, PluginContext, FunctionMap } from './types.js';
19
7
 
20
8
  const DEFAULT_OPTIONS: Required<PluginOptions> = {
21
9
  configPath: 'seyuna.json',
package/src/errors.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Node } from 'postcss';
2
- import { PluginContext } from "./config.js";
2
+ import { PluginContext } from './types.js';
3
3
 
4
4
  export function reportError(
5
5
  message: string,
@@ -1,4 +1,4 @@
1
- import { PluginContext } from "../config.js";
1
+ import { PluginContext } from "../types.js";
2
2
 
3
3
  /**
4
4
  * Resolves a color name to its CSS variables based on its type (standard or fixed)
@@ -1,6 +1,6 @@
1
1
  import { sc, fc, alpha, lighten, darken, contrast } from "./color.js";
2
2
  import { theme } from "./theme.js";
3
- import { PluginContext } from "../config.js";
3
+ import { PluginContext } from "../types.js";
4
4
 
5
5
  export type FnHandler = (context: PluginContext, ...args: string[]) => string;
6
6
 
@@ -1,4 +1,4 @@
1
- import { PluginContext } from "../config.js";
1
+ import { PluginContext } from "../types.js";
2
2
 
3
3
  /**
4
4
  * Accesses values from the Seyuna configuration using dot notation
package/src/helpers.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Rule, ChildNode, Declaration, AtRule } from "postcss";
2
2
  import { processFunctions } from "./parser.js";
3
- import { PluginContext } from "./config.js";
3
+ import { PluginContext } from './types.js';
4
4
 
5
5
  /**
6
6
  * Helper: clone nodes and replace {name} placeholders safely
package/src/parser.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  import valueParser from 'postcss-value-parser';
2
2
  import { Node } from 'postcss';
3
- import { PluginContext } from './config.js';
3
+ import { PluginContext, FunctionMap } from './types.js';
4
4
  import { reportError } from './errors.js';
5
5
 
6
- export type FunctionMap = Record<string, (context: PluginContext, ...args: string[]) => string>;
6
+ // Re-export FunctionMap for backwards compatibility
7
+ export type { FunctionMap } from './types.js';
7
8
 
8
9
  export function processFunctions(
9
10
  value: string,
package/src/plugin.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  import { PluginCreator } from "postcss";
2
2
  import { functions } from "./functions/index.js";
3
3
  import { atRuleHandlers } from "./at-rules/index.js";
4
- import { loadConfig, PluginOptions as ConfigOptions, PluginContext } from "./config.js";
5
- import { processFunctions, FunctionMap } from "./parser.js";
4
+ import { loadConfig } from "./config.js";
5
+ import { PluginOptions, PluginContext, FunctionMap } from "./types.js";
6
+ import { processFunctions } from "./parser.js";
6
7
 
7
- export const dynamicFunctionsPlugin: PluginCreator<ConfigOptions> = (
8
+ export const dynamicFunctionsPlugin: PluginCreator<PluginOptions> = (
8
9
  opts = {}
9
10
  ) => {
10
11
  const { config, options } = loadConfig(opts);
package/src/types.ts CHANGED
@@ -1 +1,19 @@
1
- export type { Config as SeyunaConfig, Color } from "@seyuna/cli/types";
1
+ export type { Config as SeyunaConfig, Color } from "@seyuna/cli/types";
2
+
3
+ // Shared types to avoid circular dependencies between config.ts and parser.ts
4
+
5
+ export type FunctionMap = Record<string, (context: PluginContext, ...args: string[]) => string>;
6
+
7
+ export interface PluginOptions {
8
+ configPath?: string;
9
+ modeAttribute?: string;
10
+ strict?: boolean;
11
+ config?: import("@seyuna/cli/types").Config;
12
+ functions?: FunctionMap;
13
+ }
14
+
15
+ export interface PluginContext {
16
+ config: import("@seyuna/cli/types").Config;
17
+ options: Required<PluginOptions>;
18
+ functions: FunctionMap;
19
+ }
package/test-import.mjs DELETED
@@ -1,2 +0,0 @@
1
- import plugin from './dist/index.js';
2
- console.log('Plugin loaded:', plugin);