feat(workspace): use tsdown for Vue component modules

This commit is contained in:
Neko Ayaka
2025-06-11 02:43:25 +08:00
parent 3862a092a5
commit ab4a869104
18 changed files with 469 additions and 550 deletions
-1
View File
@@ -23,7 +23,6 @@ export default defineConfig({
alias: {
'@proj-airi/stage-ui': resolve(join(import.meta.dirname, '..', '..', 'packages', 'stage-ui', 'src')),
'@proj-airi/stage-ui/stores': resolve(join(import.meta.dirname, '..', '..', 'packages', 'stage-ui', 'src', 'stores')),
'@proj-airi/ui': resolve(join(import.meta.dirname, '..', '..', 'packages', 'ui', 'src')),
},
},
plugins: [
-2
View File
@@ -54,8 +54,6 @@ export default defineConfig({
resolve: {
alias: {
'@proj-airi/stage-ui': resolve(join(import.meta.dirname, '..', '..', 'packages', 'stage-ui', 'src')),
'@proj-airi/ui': resolve(join(import.meta.dirname, '..', '..', 'packages', 'ui', 'src')),
'@proj-airi/ui-transitions': resolve(join(import.meta.dirname, '..', '..', 'packages', 'ui-transitions', 'src')),
'@proj-airi/stage-ui/stores': resolve(join(import.meta.dirname, '..', '..', 'packages', 'stage-ui', 'src', 'stores')),
},
},
+2
View File
@@ -50,6 +50,7 @@ words:
- cubismviewmatrix
- culori
- cuteen
- dataurl
- deepseek
- defu
- demi
@@ -151,6 +152,7 @@ words:
- rehype
- reka
- rmcp
- rolldown
- rushstack
- Saccade
- saccades
+4 -1
View File
@@ -31,7 +31,7 @@
"lint": "eslint --cache .",
"lint:fix": "eslint --cache --fix .",
"lint:rust": "cargo fmt --check && cargo clippy --workspace",
"postinstall": "npx simple-git-hooks && pnpm build:packages",
"postinstall": "npx simple-git-hooks && pnpm run build:packages",
"sizecheck": "npx vite-bundle-visualizer",
"up": "taze major -I",
"changelogithub": "changelogithub",
@@ -61,6 +61,9 @@
"unbuild": "^3.5.0",
"unocss": "^66.1.3",
"unocss-preset-scrollbar": "^3.2.0",
"unplugin-lightningcss": "^0.4.1",
"unplugin-raw": "^0.5.0",
"unplugin-vue": "^6.2.0",
"vite": "^6.3.5",
"vite-plugin-inspect": "^11.1.0",
"vitest": "^3.2.1"
@@ -1,12 +0,0 @@
import { defineBuildConfig } from 'unbuild'
export default defineBuildConfig({
entries: [
{ builder: 'mkdist', input: './src/components/', outDir: './dist/components', pattern: '**/*.vue', loaders: ['vue'] },
{ builder: 'mkdist', input: './src/components/', outDir: './dist/components', pattern: '**/*.ts', format: 'esm', loaders: ['js'] },
{ builder: 'mkdist', input: './src/', outDir: './dist/', pattern: '**/*.ts', format: 'esm', loaders: ['js'] },
],
declaration: true,
sourcemap: true,
clean: true,
})
+1 -1
View File
@@ -1,6 +1,6 @@
[build]
base = "/"
command = "pnpm -F @proj-airi/ui-loading-screens... run build"
command = "pnpm -F @proj-airi/ui-loading-screens... run play:build"
publish = "/packages/ui-loading-screens/playground/dist"
[build.environment]
+8 -7
View File
@@ -15,15 +15,16 @@
"directory": "packages/ui-loading-screens"
},
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.mjs"
}
".": "./src/index.ts",
"./components": "./src/components/index.ts",
"./*": "./*"
},
"main": "./dist/index.mjs",
"module": "./dist/index.mjs",
"scripts": {
"dev": "pnpm run stub",
"stub": "unbuild --stub",
"build": "unbuild && pnpm run play:build",
"dev": "pnpm run build",
"stub": "pnpm run build",
"build": "tsdown",
"play:dev": "vite",
"play:build": "vite build",
"play:preview": "vite preview",
@@ -5,7 +5,7 @@ import { Rive } from '@rive-app/canvas-lite'
import { breakpointsTailwind, useBreakpoints, useDark } from '@vueuse/core'
import { computed, onMounted, ref, watch } from 'vue'
import CircleFadeInAnimation from './assets/circle_blink_in_-_loading_(@proj-airi).riv?url'
import CircleFadeInAnimation from './assets/circle_blink_in_-_loading_(@proj-airi).riv'
import CRT from './CRT.vue'
import CRTLine from './CRTLine.vue'
+9
View File
@@ -0,0 +1,9 @@
declare module '*.riv' {
const url: string
export default url
}
declare module '*.rev' {
const url: string
export default url
}
@@ -0,0 +1,32 @@
import { env } from 'node:process'
import { defineConfig } from 'tsdown'
import Raw from 'unplugin-raw/rolldown'
import Vue from 'unplugin-vue/rolldown'
export default defineConfig({
entry: {
index: './src/index.ts',
components: './src/components/index.ts',
},
loader: {
'.png': 'asset',
'.rev': 'dataurl',
'.riv': 'dataurl',
},
define: {
'import.meta.DEV': JSON.stringify(!!env.DEV),
},
exports: {
devExports: true,
all: true,
},
fixedExtension: true,
plugins: [
Vue(),
Raw({
transform: {
options: { minifyWhitespace: true },
},
}),
],
})
-12
View File
@@ -1,12 +0,0 @@
import { defineBuildConfig } from 'unbuild'
export default defineBuildConfig({
entries: [
{ builder: 'mkdist', input: './src/components/', outDir: './dist/components', pattern: '**/*.vue', loaders: ['vue'] },
{ builder: 'mkdist', input: './src/components/', outDir: './dist/components', pattern: '**/*.ts', format: 'esm', loaders: ['js'] },
{ builder: 'mkdist', input: './src/', outDir: './dist/', pattern: '**/*.ts', format: 'esm', loaders: ['js'] },
],
declaration: true,
sourcemap: true,
clean: true,
})
+1 -1
View File
@@ -1,6 +1,6 @@
[build]
base = "/"
command = "pnpm -F @proj-airi/ui-transitions... run build"
command = "pnpm -F @proj-airi/ui-transitions... run play:build"
publish = "/packages/ui-transitions/playground/dist"
[build.environment]
+8 -7
View File
@@ -15,15 +15,16 @@
"directory": "packages/ui-transitions"
},
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.mjs"
}
".": "./src/index.ts",
"./components": "./src/components/index.ts",
"./*": "./*"
},
"main": "./dist/index.mjs",
"module": "./dist/index.mjs",
"scripts": {
"dev": "pnpm run stub",
"stub": "unbuild --stub",
"build": "unbuild && pnpm run play:build",
"dev": "pnpm run build",
"stub": "pnpm run build",
"build": "tsdown",
"play:dev": "vite",
"play:build": "vite build",
"play:preview": "vite preview",
+27
View File
@@ -0,0 +1,27 @@
import { env } from 'node:process'
import { defineConfig } from 'tsdown'
import Raw from 'unplugin-raw/rolldown'
import Vue from 'unplugin-vue/rolldown'
export default defineConfig({
entry: {
index: './src/index.ts',
components: './src/components/index.ts',
},
define: {
'import.meta.DEV': JSON.stringify(!!env.DEV),
},
exports: {
devExports: true,
all: true,
},
fixedExtension: true,
plugins: [
Vue(),
Raw({
transform: {
options: { minifyWhitespace: true },
},
}),
],
})
-11
View File
@@ -1,11 +0,0 @@
import { defineBuildConfig } from 'unbuild'
export default defineBuildConfig({
entries: [
{ builder: 'mkdist', input: './src/', outDir: './dist/', pattern: '**/*.vue', loaders: ['vue'] },
{ builder: 'mkdist', input: './src/', outDir: './dist/', pattern: '**/*.ts', format: 'esm', loaders: ['js'] },
],
declaration: true,
sourcemap: true,
clean: true,
})
+9 -15
View File
@@ -15,23 +15,17 @@
"directory": "packages/ui"
},
"exports": {
".": {
"types": "./dist/index.d.ts",
"import": "./dist/index.mjs"
},
"./components/animations": {
"types": "./dist/components/Animations/index.d.ts",
"import": "./dist/components/Animations/index.mjs"
},
"./components/form": {
"types": "./dist/components/Form/index.d.ts",
"import": "./dist/components/Form/index.mjs"
}
".": "./src/index.ts",
"./components/animations": "./src/components/Animations/index.ts",
"./components/form": "./src/components/Form/index.ts",
"./*": "./*"
},
"main": "./dist/index.mjs",
"module": "./dist/index.mjs",
"scripts": {
"dev": "pnpm run stub",
"stub": "unbuild --stub",
"build": "unbuild",
"dev": "pnpm run build",
"stub": "pnpm run build",
"build": "tsdown",
"typecheck": "vue-tsc --noEmit"
},
"dependencies": {
+28
View File
@@ -0,0 +1,28 @@
import { env } from 'node:process'
import { defineConfig } from 'tsdown'
import Raw from 'unplugin-raw/rolldown'
import Vue from 'unplugin-vue/rolldown'
export default defineConfig({
entry: {
'index': './src/index.ts',
'components/form': './src/components/Form/index.ts',
'components/animations': './src/components/Animations/index.ts',
},
define: {
'import.meta.DEV': JSON.stringify(!!env.DEV),
},
exports: {
devExports: true,
all: true,
},
fixedExtension: true,
plugins: [
Vue(),
Raw({
transform: {
options: { minifyWhitespace: true },
},
}),
],
})
+339 -479
View File
File diff suppressed because it is too large Load Diff