@seyuna/postcss 0.0.1-dev.1 → 0.0.1-dev.4

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.
@@ -78,7 +78,7 @@ jobs:
78
78
  id: tag
79
79
  run: |
80
80
  BRANCH="${GITHUB_REF##*/}"
81
- if [ "$BRANCH" = "main" ]; then
81
+ if [ "$BRANCH" = "stable" ]; then
82
82
  echo "tag=latest" >> $GITHUB_OUTPUT
83
83
  else
84
84
  echo "tag=$BRANCH" >> $GITHUB_OUTPUT
@@ -87,7 +87,19 @@ jobs:
87
87
  - name: Install dependencies
88
88
  run: npm ci
89
89
 
90
+ - name: Check if version exists on npm
91
+ id: version_check
92
+ run: |
93
+ PKG_NAME=$(node -p "require('./package.json').name")
94
+ PKG_VERSION=$(node -p "require('./package.json').version")
95
+ if npm view "$PKG_NAME@$PKG_VERSION" > /dev/null 2>&1; then
96
+ echo "exists=true" >> $GITHUB_OUTPUT
97
+ else
98
+ echo "exists=false" >> $GITHUB_OUTPUT
99
+ fi
100
+
90
101
  - name: Publish package
102
+ if: steps.version_check.outputs.exists != 'true'
91
103
  run: npm publish --access public --tag ${{ steps.tag.outputs.tag }}
92
104
 
93
105
  release:
@@ -123,10 +135,21 @@ jobs:
123
135
  echo "$changelog"
124
136
  } > RELEASE_NOTES.md
125
137
 
138
+ - name: Check if GitHub release exists
139
+ id: release_check
140
+ run: |
141
+ if gh release view "v${{ needs.build.outputs.version }}" >/dev/null 2>&1; then
142
+ echo "exists=true" >> $GITHUB_OUTPUT
143
+ else
144
+ echo "exists=false" >> $GITHUB_OUTPUT
145
+ fi
146
+ env:
147
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
148
+
126
149
  - name: Create GitHub Release
150
+ if: steps.release_check.outputs.exists != 'true'
127
151
  run: |
128
152
  gh release create "v${{ needs.build.outputs.version }}" \
129
- dist/* \
130
153
  --title "v${{ needs.build.outputs.version }}" \
131
154
  --notes-file RELEASE_NOTES.md
132
155
  env:
@@ -1 +1 @@
1
- export declare const cssVar: (name: string, fallback?: string) => string;
1
+ export declare const color: (name: string, alpha?: string, lightness?: string, chroma?: string) => string;
@@ -1,7 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cssVar = void 0;
4
- const cssVar = (name, fallback) => {
5
- return fallback ? `var(--${name}, ${fallback})` : `var(--${name})`;
3
+ exports.color = void 0;
4
+ const color = (name, alpha, lightness, chroma) => {
5
+ let a = "1";
6
+ let l = "var(--lightness)";
7
+ let c = "var(--chroma)";
8
+ if (alpha && alpha !== "null") {
9
+ a = alpha;
10
+ }
11
+ if (lightness && lightness !== "null") {
12
+ l = lightness;
13
+ }
14
+ if (chroma && chroma !== "null") {
15
+ c = chroma;
16
+ }
17
+ return `oklch(${l}% ${c} var(--${name}) / ${a})`;
6
18
  };
7
- exports.cssVar = cssVar;
19
+ exports.color = color;
@@ -4,6 +4,6 @@ exports.functions = void 0;
4
4
  const color_1 = require("./color");
5
5
  const spacing_1 = require("./spacing");
6
6
  exports.functions = {
7
- cssVar: color_1.cssVar,
8
- spacing: spacing_1.spacing,
7
+ color: color_1.color,
8
+ spacing: spacing_1.spacing
9
9
  };
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.spacing = void 0;
4
4
  const spacing = (multiplier) => {
5
- const num = parseFloat(multiplier);
6
- return `${num * 0.25}rem`;
5
+ return `${parseFloat(multiplier) * 1}rem`;
7
6
  };
8
7
  exports.spacing = spacing;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seyuna/postcss",
3
- "version": "0.0.1-dev.1",
3
+ "version": "0.0.1-dev.4",
4
4
  "description": "Seyuna UI's postcss plugin",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,3 +1,19 @@
1
- export const cssVar = (name: string, fallback?: string) => {
2
- return fallback ? `var(--${name}, ${fallback})` : `var(--${name})`;
1
+ export const color = (name: string, alpha?: string, lightness?: string, chroma?: string) => {
2
+ let a: string = "1";
3
+ let l: string = "var(--lightness)";
4
+ let c: string = "var(--chroma)";
5
+
6
+ if (alpha && alpha !== "null") {
7
+ a = alpha;
8
+ }
9
+
10
+ if (lightness && lightness !== "null") {
11
+ l = lightness;
12
+ }
13
+
14
+ if (chroma && chroma !== "null") {
15
+ c = chroma;
16
+ }
17
+
18
+ return `oklch(${l}% ${c} var(--${name}) / ${a})`;
3
19
  };
@@ -1,9 +1,9 @@
1
- import { cssVar } from "./color";
1
+ import { color } from "./color";
2
2
  import { spacing } from "./spacing";
3
3
 
4
4
  export type FnHandler = (...args: string[]) => string;
5
5
 
6
6
  export const functions: Record<string, FnHandler> = {
7
- cssVar,
8
- spacing,
7
+ color,
8
+ spacing
9
9
  };
@@ -1,4 +1,3 @@
1
1
  export const spacing = (multiplier: string) => {
2
- const num = parseFloat(multiplier);
3
- return `${num * 0.25}rem`;
2
+ return `${parseFloat(multiplier) * 1}rem`;
4
3
  };
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cssVar = void 0;
4
- const cssVar = (name, fallback) => {
5
- return fallback ? `var(--${name}, ${fallback})` : `var(--${name})`;
6
- };
7
- exports.cssVar = cssVar;
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.functions = void 0;
4
- const color_1 = require("./color");
5
- const spacing_1 = require("./spacing");
6
- exports.functions = {
7
- cssVar: color_1.cssVar,
8
- spacing: spacing_1.spacing,
9
- };
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.spacing = void 0;
4
- const spacing = (multiplier) => {
5
- const num = parseFloat(multiplier);
6
- return `${num * 0.25}rem`;
7
- };
8
- exports.spacing = spacing;
package/src/index.js DELETED
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.functions = exports.default = void 0;
4
- var plugin_1 = require("./plugin");
5
- Object.defineProperty(exports, "default", { enumerable: true, get: function () { return plugin_1.dynamicFunctionsPlugin; } });
6
- var functions_1 = require("./functions");
7
- Object.defineProperty(exports, "functions", { enumerable: true, get: function () { return functions_1.functions; } });
package/src/plugin.js DELETED
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dynamicFunctionsPlugin = void 0;
4
- const functions_1 = require("./functions");
5
- const dynamicFunctionsPlugin = (opts = {}) => {
6
- const fnMap = { ...functions_1.functions, ...opts.functions };
7
- return {
8
- postcssPlugin: "postcss-dynamic-functions",
9
- Declaration(decl) {
10
- let value = decl.value;
11
- for (const fnName in fnMap) {
12
- const regex = new RegExp(`${fnName}\\(([^)]*)\\)`, "g");
13
- value = value.replace(regex, (_match, argsStr) => {
14
- const args = argsStr
15
- .split(",")
16
- .map((a) => a.trim().replace(/^['"]|['"]$/g, ""));
17
- return fnMap[fnName](...args);
18
- });
19
- }
20
- decl.value = value;
21
- },
22
- };
23
- };
24
- exports.dynamicFunctionsPlugin = dynamicFunctionsPlugin;
25
- exports.dynamicFunctionsPlugin.postcss = true;