suzigang 3 years ago
parent
commit
ed60ff8536

+ 15 - 1
jd/generate-types-taro.cjs

@@ -47,6 +47,17 @@ const getCompName = (name) => {
   return packageName ? packageName.name : ''
 }
 
+const getLocale = () => {
+  const source = path.join(sourceDir, 'locale');
+  const to = path.resolve(__dirname, './../dist/packages/locale');
+  fs.cp(source, to, { recursive: true }, (err) => {
+    if(err) {
+      console.error(err);
+      return;
+    }
+  })
+}
+
 fs.cp(sourceDir, toDir, { recursive: true }, (err) => {
   if(err) {
     console.error(err);
@@ -54,7 +65,7 @@ fs.cp(sourceDir, toDir, { recursive: true }, (err) => {
   }
 
   const oldName = path.join(toDir, 'nutui.taro.vue.build.d.ts');
-  const newName = path.join(toDir, 'nutui.d.ts');
+  const newName = path.join(toDir, 'index.d.ts');
 
   fs.rename(oldName, newName, (err) => {
     if(err) {
@@ -82,4 +93,7 @@ declare module 'vue' {
     }
   });
 
+  //国际化处理
+  getLocale();
+
 });

+ 16 - 2
jd/generate-types.cjs

@@ -2,7 +2,7 @@ const config = require('../src/config.json');
 const path = require('path');
 const fs = require('fs');
 
-const sourceDir = path.resolve(__dirname, './../tsc/type/src/packages') // 拷贝的源文件夹
+const sourceDir = path.resolve(__dirname, './../tsc/type/src/packages'); // 拷贝的源文件夹
 
 const toDir = path.resolve(__dirname, './../dist/types'); // ./../dist
 
@@ -47,6 +47,17 @@ const getCompName = (name) => {
   return packageName ? packageName.name : ''
 }
 
+const getLocale = () => {
+  const source = path.join(sourceDir, 'locale');
+  const to = path.resolve(__dirname, './../dist/packages/locale');
+  fs.cp(source, to, { recursive: true }, (err) => {
+    if(err) {
+      console.error(err);
+      return;
+    }
+  })
+}
+
 fs.cp(sourceDir, toDir, { recursive: true }, (err) => {
   if(err) {
     console.error(err);
@@ -54,7 +65,7 @@ fs.cp(sourceDir, toDir, { recursive: true }, (err) => {
   }
 
   const oldName = path.join(toDir, 'nutui.vue.build.d.ts');
-  const newName = path.join(toDir, 'nutui.d.ts');
+  const newName = path.join(toDir, 'index.d.ts');
 
   fs.rename(oldName, newName, (err) => {
     if(err) {
@@ -81,4 +92,7 @@ declare module 'vue' {
       fs.writeFileSync(item, changeContent);
     }
   });
+
+  //国际化处理
+  getLocale();
 });

+ 4 - 3
package.json

@@ -49,8 +49,8 @@
     "build:site": "npm run checked && vite build",
     "build:site-jdt": "npm run checked && vite build --config vite.config.jdt.ts ",
     "build:site:oss": "npm run checked && vite build --base=/nutui/4x/",
-    "build": "npm run checked && vite build --config vite.config.build.ts && vite build --config vite.config.build.disperse.ts && npm run dts && npm run generate:themes && vite build --config vite.config.build.css.ts && vite build --config vite.config.build.locale.ts && npm run attrs",
-    "build:taro:vue": "npm run checked:taro:vue && vite build --config vite.config.build.taro.vue.ts && vite build --config vite.config.build.taro.vue.disperse.ts && npm run generate:types:taro && npm run generate:themes && vite build --config vite.config.build.css.ts && vite build --config vite.config.build.locale.ts && npm run attrs",
+    "build": "npm run checked && vite build --config vite.config.build.ts && vite build --config vite.config.build.disperse.ts && npm run generate:themes && vite build --config vite.config.build.css.ts && vite build --config vite.config.build.locale.ts && npm run dts && npm run attrs",
+    "build:taro:vue": "npm run checked:taro:vue && vite build --config vite.config.build.taro.vue.ts && vite build --config vite.config.build.taro.vue.disperse.ts && npm run generate:themes && vite build --config vite.config.build.css.ts && vite build --config vite.config.build.locale.ts && npm run dts:taro && npm run attrs",
     "serve": "vite preview",
     "upload": "yarn build:site:oss && node ./jd/upload.js",
     "add": "node jd/createComponentMode.js",
@@ -68,7 +68,8 @@
     "copydocs": "node ./jd/copymd.js",
     "createTaroConfig": "node ./jd/generate-taro-route.cjs",
     "attrs": "node ./jd/createAttributes.cjs",
-    "dts": "vue-tsc --declaration --emitDeclarationOnly -p ./tsconfig.declaration.json"
+    "dts": "rm -rf ./tsc/type && vue-tsc --declaration --emitDeclarationOnly -p ./tsconfig.declaration.json && npm run generate:types",
+    "dts:taro": "rm -rf ./tsc/type && vue-tsc --declaration --emitDeclarationOnly -p ./tsconfig.declaration.taro.json && npm run generate:types:taro"
   },
   "standard-version": {
     "scripts": {

+ 2 - 2
src/packages/__VUE/tabbaritem/index.taro.vue

@@ -5,7 +5,7 @@
     :style="{
       color: active ? state.activeColor : state.unactiveColor
     }"
-    @click="change(state.index)"
+    @click="change()"
   >
     <view class="nut-tabbar-item_icon-box">
       <template v-if="!dot">
@@ -78,7 +78,7 @@ export default create({
     },
     num: {
       // 页签右上角的数字角标
-      type: String,
+      type: [String, Number],
       default: ''
     },
     activeImg: {

+ 3 - 1
tsconfig.declaration.json

@@ -9,7 +9,9 @@
     "src/**/*.d.ts",
     "src/packages/__VUE/**/index.vue",
     "src/packages/__VUE/**/*.ts",
-    "src/packages/nutui.vue.build.ts"
+    "src/packages/nutui.vue.build.ts",
+    "src/packages/locale",
+    "src/packages/utils",
   ],
   "exclude": [
     "node_modules",

+ 23 - 0
tsconfig.declaration.taro.json

@@ -0,0 +1,23 @@
+{
+  "extends": "./tsconfig.json",
+  "compilerOptions": {
+    "declaration": true,
+    "declarationDir": "./tsc/type",
+    "emitDeclarationOnly": true
+  },
+  "include": [
+    "src/**/*.d.ts",
+    "src/packages/__VUE/**/index.taro.vue",
+    "src/packages/__VUE/**/*.ts",
+    "src/packages/nutui.taro.vue.build.ts",
+    "src/packages/locale",
+    "src/packages/utils",
+  ],
+  "exclude": [
+    "node_modules",
+    "**/test/**/*",
+    "**/demo/**/*",
+    "src/packages/__VUE/**/__tests__/",
+    "src/packages/__VUE/**/__test__/"
+  ]
+}

+ 1 - 11
vite.config.build.locale.ts

@@ -2,7 +2,6 @@ import { defineConfig } from 'vite';
 import path from 'path';
 import config from './package.json';
 import vue from '@vitejs/plugin-vue';
-import dts from 'vite-plugin-dts';
 const banner = `/*!
 * ${config.name} v${config.version} ${new Date()}
 * (c) 2022 @jdf2e.
@@ -22,16 +21,7 @@ fs.outputFile(path.resolve(__dirname, './dist/packages/locale/index.scss'), ' ',
 fs.outputFile(path.resolve(__dirname, './dist/packages/locale/lang/index.scss'), ' ', 'utf8', (error) => {});
 
 export default defineConfig({
-  plugins: [
-    vue(),
-    dts({
-      insertTypesEntry: true,
-      copyDtsFiles: true,
-      cleanVueFileName: true,
-      outputDir: path.resolve(__dirname, './dist/packages/'),
-      include: path.resolve(__dirname, './src/packages/locale')
-    })
-  ],
+  plugins: [vue()],
   build: {
     minify: true,
     lib: {