u
This commit is contained in:
1 parent
f572dce2f6
commit
e99a9fb274
356 files changed
+28877
-1055
No files matched your search
@@ -0,0 +1,45 @@
|
||||
import { readFileSync } from 'node:fs'
|
||||
import { fileURLToPath } from 'node:url'
|
||||
import vue from '@vitejs/plugin-vue'
|
||||
import { defineConfig } from 'vite'
|
||||
|
||||
/**
|
||||
* 组件 playground —— E2E(Playwright)与人工/ AI 手测共用的宿主页面。
|
||||
*
|
||||
* 只有两个用途:把组件跑在真实浏览器里、给每个可交互元素一个稳定的 data-testid。
|
||||
* 不参与打包(files 只发布 dist),也不影响组件库构建。
|
||||
*/
|
||||
|
||||
const configScssPath = fileURLToPath(new URL('../../tokens/src/scss/_config.scss', import.meta.url))
|
||||
const configScss = readFileSync(configScssPath, 'utf-8')
|
||||
|
||||
function readScssDefault(name: string, fallback: string): string {
|
||||
const match = configScss.match(new RegExp(`\\$${name}\\s*:\\s*['"]([^'"]+)['"]\\s*!default`))
|
||||
return match ? match[1] : fallback
|
||||
}
|
||||
|
||||
export default defineConfig({
|
||||
root: fileURLToPath(new URL('.', import.meta.url)),
|
||||
plugins: [vue()],
|
||||
resolve: {
|
||||
alias: [
|
||||
{
|
||||
find: /^@g3soft\/ui$/,
|
||||
replacement: fileURLToPath(new URL('../src/index.ts', import.meta.url)),
|
||||
},
|
||||
{
|
||||
find: /^@g3soft\/tokens$/,
|
||||
replacement: fileURLToPath(new URL('../../tokens/dist/index.css', import.meta.url)),
|
||||
},
|
||||
{ find: /^vue$/, replacement: 'vue/dist/vue.esm-bundler.js' },
|
||||
],
|
||||
},
|
||||
css: {
|
||||
preprocessorOptions: { scss: { api: 'modern-compiler' } },
|
||||
},
|
||||
define: {
|
||||
__G3_NAMESPACE__: JSON.stringify(readScssDefault('namespace', 'g3')),
|
||||
__G3_STATE_PREFIX__: JSON.stringify(readScssDefault('state-prefix', 'is')),
|
||||
},
|
||||
server: { port: 5200, strictPort: true },
|
||||
})
|
||||
Reference in new issue
Block a user