Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .changepacks/changepack_log_8qVhFYHtH7lswOCkOv6fH.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"changes":{"packages/plugin-utils/package.json":"Major"},"note":"Release Plugin utils","date":"2026-01-06T18:10:29.522327400Z"}
1 change: 1 addition & 0 deletions .changepacks/changepack_log_WzTvxRCALLzG2EJbWR-56.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"changes":{"packages/next-plugin/package.json":"Patch","packages/rsbuild-plugin/package.json":"Patch","packages/vite-plugin/package.json":"Patch","packages/webpack-plugin/package.json":"Patch","packages/bun-plugin/package.json":"Patch"},"note":"Add extends key","date":"2026-01-06T18:00:01.029206300Z"}
30 changes: 22 additions & 8 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"lint:fix": "eslint --fix",
"pretest": "bun run --filter @devup-ui/vite-plugin build",
"test": "cargo tarpaulin --out xml --out stdout --out html --all-targets && bun test",
"build": "bun run --filter @devup-ui/wasm build && bun run --filter @devup-ui/react --filter @devup-ui/webpack-plugin build && bun run --filter @devup-ui/eslint-plugin --filter @devup-ui/vite-plugin --filter @devup-ui/next-plugin --filter @devup-ui/rsbuild-plugin --filter @devup-ui/bun-plugin --filter @devup-ui/components --filter @devup-ui/reset-css build",
"build": "bun run --filter @devup-ui/wasm --filter @devup-ui/plugin-utils build && bun run --filter @devup-ui/react --filter @devup-ui/webpack-plugin build && bun run --filter @devup-ui/eslint-plugin --filter @devup-ui/vite-plugin --filter @devup-ui/next-plugin --filter @devup-ui/rsbuild-plugin --filter @devup-ui/bun-plugin --filter @devup-ui/components --filter @devup-ui/reset-css build",
"dev": "bun run --filter '*' dev",
"benchmark": "bun benchmark.js",
"prepare": "husky",
Expand Down
1 change: 1 addition & 0 deletions packages/bun-plugin/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
"dist"
],
"dependencies": {
"@devup-ui/plugin-utils": "workspace:^",
"@devup-ui/wasm": "workspace:^"
},
"devDependencies": {
Expand Down
12 changes: 4 additions & 8 deletions packages/bun-plugin/src/plugin.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import { existsSync } from 'node:fs'
import { mkdir, readFile, writeFile } from 'node:fs/promises'
import { mkdir, writeFile } from 'node:fs/promises'
import { basename, dirname, join, relative, resolve } from 'node:path'

import { loadDevupConfig } from '@devup-ui/plugin-utils'
import {
codeExtract,
getThemeInterface,
Expand All @@ -20,13 +21,8 @@ const singleCss = true
async function writeDataFiles() {
let theme = {}
try {
const content = existsSync(devupFile)
? await readFile(devupFile, 'utf-8')
: undefined

if (content) {
theme = JSON.parse(content)?.['theme'] ?? {}
}
const config = await loadDevupConfig(devupFile)
theme = config.theme ?? {}
} catch {
// Error reading devup.json, use empty theme
}
Expand Down
1 change: 1 addition & 0 deletions packages/next-plugin/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
],
"types": "./dist/index.d.ts",
"dependencies": {
"@devup-ui/plugin-utils": "workspace:^",
"@devup-ui/webpack-plugin": "workspace:^",
"next": "^16.1",
"@devup-ui/wasm": "workspace:^",
Expand Down
9 changes: 5 additions & 4 deletions packages/next-plugin/src/plugin.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs'
import { existsSync, mkdirSync, writeFileSync } from 'node:fs'
import { join, relative, resolve } from 'node:path'

import { loadDevupConfigSync } from '@devup-ui/plugin-utils'
import {
exportClassMap,
exportFileMap,
Expand Down Expand Up @@ -68,9 +69,9 @@ export function DevupUI(
recursive: true,
})
if (!existsSync(gitignoreFile)) writeFileSync(gitignoreFile, '*')
const theme = existsSync(devupFile)
? JSON.parse(readFileSync(devupFile, 'utf-8'))?.['theme']
: {}
const devupConfig = loadDevupConfigSync(devupFile)

const theme: any = devupConfig.theme ?? {}
registerTheme(theme)
const themeInterface = getThemeInterface(
libPackage,
Expand Down
43 changes: 43 additions & 0 deletions packages/plugin-utils/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{
"name": "@devup-ui/plugin-utils",
"description": "Shared utilities for Devup UI build plugins",
"repository": "https://github.com/dev-five-git/devup-ui",
"author": "devfive",
"license": "Apache-2.0",
"homepage": "https://devup-ui.com",
"bugs": {
"url": "https://github.com/dev-five-git/devup-ui/issues",
"email": "contact@devfive.kr"
},
"keywords": [
"devup-ui",
"plugin",
"utils"
],
"type": "module",
"version": "0.0.1",
"scripts": {
"lint": "eslint",
"build": "tsc && bun build --target node src/index.ts --production --env=disable --outfile dist/index.cjs --format cjs --packages external && bun build --target node src/index.ts --production --env=disable --outfile dist/index.mjs --format esm --packages external"
},
"publishConfig": {
"access": "public"
},
"sideEffects": false,
"main": "./dist/index.cjs",
"module": "./dist/index.mjs",
"types": "./dist/index.d.ts",
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.mjs",
"require": "./dist/index.cjs"
}
},
"files": [
"dist"
],
"devDependencies": {
"typescript": "^5.9.3"
}
}
Loading