提交 37a90002 编写于 作者: W wangbei16

chore: add build config

上级 6c9e1aeb
{
"name": "nutui-react",
"version": "0.0.0",
"version": "1.0.0",
"main": "dist/nutui.react.umd.js",
"module": "dist/nutui.react.es.js",
"style": "dist/style.css",
"typings": "dist/dts/src/packages/nutui.react.d.ts",
"scripts": {
"add": "node scripts/createComponentMode.js",
"generate:file": "node scripts/generate-nutui.js",
"checked": "npm run generate:file && tsc",
"dev": "npm run checked && vite --open --force",
"build": "npm run checked && vite build --config vite.config.build.ts && tsc",
"prepare": "husky install"
},
"lint-staged": {
......
......@@ -8,7 +8,7 @@ config.nav.map((item) => {
item.packages.forEach((element) => {
let { name, show, type } = element
if (show) {
importStr += `import ${name} from './packages/${name.toLowerCase()}';\n`
importStr += `import ${name} from './${name.toLowerCase()}';\n`
packages.push(name)
}
})
......@@ -17,6 +17,11 @@ config.nav.map((item) => {
let fileStr = `${importStr}
export { ${packages.join(',')} };`
fs.outputFile(path.resolve(__dirname, '../src/nutui.ts'), fileStr, 'utf8', (error) => {
if (error) throw error
})
fs.outputFile(
path.resolve(__dirname, '../src/packages/nutui.react.ts'),
fileStr,
'utf8',
(error) => {
if (error) throw error
}
)
......@@ -5,7 +5,10 @@
"target": "ESNext",
"types": ["vite/client"],
"allowJs": false,
"skipLibCheck": false,
"declaration": true,
"emitDeclarationOnly": true,
"declarationDir": "./dist/dts",
"skipLibCheck": true,
"esModuleInterop": false,
"allowSyntheticDefaultImports": true,
"strict": true,
......@@ -14,7 +17,6 @@
"moduleResolution": "Node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react",
"lib": ["esnext", "dom"],
"outDir": "./tsc/test",
......@@ -23,5 +25,5 @@
}
},
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx"],
"exclude": ["./node_modules"]
"exclude": ["./node_modules/*"]
}
import { defineConfig } from 'vite'
import reactRefresh from '@vitejs/plugin-react-refresh'
import path from 'path'
import config from './package.json'
const banner = `/*!
* ${config.name} v${config.version} ${new Date()}
* (c) 2021 @jdf2e.
* Released under the MIT License.
*/`
const resolve = path.resolve
// https://vitejs.dev/config/
export default defineConfig({
resolve: {
alias: [{ find: '@', replacement: resolve(__dirname, './src') }],
},
css: {
preprocessorOptions: {
scss: {
// example : additionalData: `@import "./src/design/styles/variables";`
// dont need include file extend .scss
additionalData: `@import "@/styles/variables.scss";@import "@/sites/assets/styles/variables.scss";`,
},
},
},
plugins: [reactRefresh()],
build: {
rollupOptions: {
// 请确保外部化那些你的库中不需要的依赖
external: ['react', 'react-dom'],
output: {
banner,
// 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量
globals: {
react: 'React',
'react-dom': 'ReactDOM',
},
},
},
lib: {
entry: 'src/packages/nutui.react.ts',
name: 'nutui.react',
fileName: 'nutui.react',
formats: ['es', 'umd'],
},
},
})
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册