Procházet zdrojové kódy

build: adjust types build script

Evan You před 7 roky
rodič
revize
6e04850d71

+ 1 - 1
packages/compiler/package.json

@@ -4,7 +4,7 @@
   "description": "@vue/compiler",
   "main": "index.js",
   "module": "dist/compiler.esm-bundler.js",
-  "typings": "dist/index.d.ts",
+  "types": "dist/index.d.ts",
   "sideEffects": false,
   "repository": {
     "type": "git",

+ 1 - 1
packages/core/package.json

@@ -4,7 +4,7 @@
   "description": "@vue/core",
   "main": "index.js",
   "module": "dist/core.esm-bundler.js",
-  "typings": "dist/index.d.ts",
+  "types": "dist/index.d.ts",
   "sideEffects": false,
   "repository": {
     "type": "git",

+ 1 - 1
packages/observer/package.json

@@ -4,7 +4,7 @@
   "description": "@vue/observer",
   "main": "index.js",
   "module": "dist/observer.esm-bundler.js",
-  "typings": "dist/index.d.ts",
+  "types": "dist/index.d.ts",
   "unpkg": "dist/observer.global.js",
   "sideEffects": false,
   "repository": {

+ 1 - 1
packages/renderer-dom/package.json

@@ -4,7 +4,7 @@
   "description": "@vue/renderer-dom",
   "main": "index.js",
   "module": "dist/renderer-dom.esm-bundler.js",
-  "typings": "dist/index.d.ts",
+  "types": "dist/index.d.ts",
   "unpkg": "dist/renderer-dom.global.js",
   "sideEffects": false,
   "buildOptions": {

+ 1 - 1
packages/renderer-server/package.json

@@ -3,7 +3,7 @@
   "version": "3.0.0-alpha.1",
   "description": "@vue/renderer-server",
   "main": "index.js",
-  "typings": "dist/index.d.ts",
+  "types": "dist/index.d.ts",
   "buildOptions": {
     "formats": ["cjs"]
   },

+ 1 - 1
packages/renderer-test/package.json

@@ -4,7 +4,7 @@
   "description": "@vue/renderer-test",
   "main": "index.js",
   "module": "dist/renderer-test.esm-bundler.js",
-  "typings": "dist/index.d.ts",
+  "types": "dist/index.d.ts",
   "repository": {
     "type": "git",
     "url": "git+https://github.com/vuejs/vue.git"

+ 1 - 1
packages/scheduler/package.json

@@ -4,7 +4,7 @@
   "description": "@vue/scheduler",
   "main": "index.js",
   "module": "dist/scheduler.esm-bundler.js",
-  "typings": "dist/index.d.ts",
+  "types": "dist/index.d.ts",
   "sideEffects": false,
   "repository": {
     "type": "git",

+ 0 - 1
packages/vue/package.json

@@ -4,7 +4,6 @@
   "description": "vue",
   "main": "index.js",
   "module": "dist/vue.esm-bundler.js",
-  "typings": "dist/index.d.ts",
   "unpkg": "dist/vue.global.js",
   "sideEffects": false,
   "buildOptions": {

+ 5 - 4
packages/vue/src/index.ts

@@ -6,12 +6,13 @@ import {
   createComponentClassFromOptions
 } from '@vue/renderer-dom'
 
+// Note: typing for this is intentionally loose, as it will be using 2.x types.
+
 class Vue {
-  static h = h
-  static render = render
-  static nextTick = nextTick
+  static h: any = h
+  static render: any = render
+  static nextTick: any = nextTick
 
-  // Note: typing for this is intentionally loose, as it will be using 2.x types.
   constructor(options: any) {
     // convert it to a class
     const Component = createComponentClassFromOptions(options || {})

+ 14 - 9
scripts/build.js

@@ -43,6 +43,7 @@ async function buildAll(targets) {
 
 async function build(target) {
   const pkgDir = path.resolve(`packages/${target}`)
+  const pkg = require(`${pkgDir}/package.json`)
 
   await fs.remove(`${pkgDir}/dist`)
 
@@ -58,16 +59,20 @@ async function build(target) {
     { stdio: 'inherit' }
   )
 
-  const dtsOptions = {
-    name: target === 'vue' ? target : `@vue/${target}`,
-    main: `${pkgDir}/dist/packages/${target}/src/index.d.ts`,
-    out: `${pkgDir}/dist/index.d.ts`
-  }
-  dts.bundle(dtsOptions)
-  console.log()
-  console.log(chalk.blue(chalk.bold(`generated typings at ${dtsOptions.out}`)))
+  if (pkg.types) {
+    const dtsOptions = {
+      name: target === 'vue' ? target : `@vue/${target}`,
+      main: `${pkgDir}/dist/packages/${target}/src/index.d.ts`,
+      out: `${pkgDir}/${pkg.types}`
+    }
+    dts.bundle(dtsOptions)
+    console.log()
+    console.log(
+      chalk.blue(chalk.bold(`generated typings at ${dtsOptions.out}`))
+    )
 
-  await fs.remove(`${pkgDir}/dist/packages`)
+    await fs.remove(`${pkgDir}/dist/packages`)
+  }
 }
 
 function checkAllSizes(targets) {

+ 8 - 1
scripts/utils.js

@@ -1,7 +1,14 @@
 const fs = require('fs')
 
 const targets = (exports.targets = fs.readdirSync('packages').filter(f => {
-  return f !== 'shared' && fs.statSync(`packages/${f}`).isDirectory()
+  if (!fs.statSync(`packages/${f}`).isDirectory()) {
+    return false
+  }
+  const pkg = require(`../packages/${f}/package.json`)
+  if (pkg.private) {
+    return false
+  }
+  return true
 }))
 
 exports.fuzzyMatchTarget = partialTarget => {