Browse Source

chore(types): perform strict es2016 lib check when building dts

pull/10705/head
Evan You 1 year ago
parent
commit
2ae908d00c
No known key found for this signature in database GPG Key ID: B9D421896CA450FB
  1. 2
      package.json
  2. 2
      packages/compiler-sfc/src/compileStyle.ts
  3. 7
      packages/compiler-sfc/src/compileTemplate.ts
  4. 2
      packages/compiler-sfc/src/style/preprocessors.ts
  5. 5
      packages/runtime-core/src/compat/global.ts
  6. 3
      packages/shared/src/general.ts
  7. 4
      packages/shared/src/toDisplayString.ts
  8. 20
      tsconfig.build-browser.json
  9. 15
      tsconfig.build-node.json
  10. 16
      tsconfig.build.json

2
package.json

@ -6,7 +6,7 @@
"scripts": {
"dev": "node scripts/dev.js",
"build": "node scripts/build.js",
"build-dts": "tsc -p tsconfig.build.json && rollup -c rollup.dts.config.js",
"build-dts": "tsc -p tsconfig.build-browser.json && tsc -p tsconfig.build-node.json && rollup -c rollup.dts.config.js",
"clean": "rimraf packages/*/dist temp .eslintcache",
"size": "run-s \"size-*\" && tsx scripts/usage-size.ts",
"size-global": "node scripts/build.js vue runtime-dom -f global -p --size",

2
packages/compiler-sfc/src/compileStyle.ts

@ -13,7 +13,7 @@ import {
type StylePreprocessorResults,
processors,
} from './style/preprocessors'
import type { RawSourceMap } from 'source-map-js'
import type { RawSourceMap } from '@vue/compiler-core'
import { cssVarsPlugin } from './style/cssVars'
import postcssModules from 'postcss-modules'

7
packages/compiler-sfc/src/compileTemplate.ts

@ -6,14 +6,11 @@ import {
type NodeTransform,
NodeTypes,
type ParserOptions,
type RawSourceMap,
type RootNode,
createRoot,
} from '@vue/compiler-core'
import {
type RawSourceMap,
SourceMapConsumer,
SourceMapGenerator,
} from 'source-map-js'
import { SourceMapConsumer, SourceMapGenerator } from 'source-map-js'
import {
type AssetURLOptions,
type AssetURLTagConfig,

2
packages/compiler-sfc/src/style/preprocessors.ts

@ -1,5 +1,5 @@
import merge from 'merge-source-map'
import type { RawSourceMap } from 'source-map-js'
import type { RawSourceMap } from '@vue/compiler-core'
import type { SFCStyleCompileOptions } from '../compileStyle'
import { isFunction } from '@vue/shared'

5
packages/runtime-core/src/compat/global.ts

@ -427,15 +427,14 @@ function applySingletonPrototype(app: App, Ctor: Function) {
app.config.globalProperties = Object.create(Ctor.prototype)
}
let hasPrototypeAugmentations = false
const descriptors = Object.getOwnPropertyDescriptors(Ctor.prototype)
for (const key in descriptors) {
for (const key of Object.getOwnPropertyNames(Ctor.prototype)) {
if (key !== 'constructor') {
hasPrototypeAugmentations = true
if (enabled) {
Object.defineProperty(
app.config.globalProperties,
key,
descriptors[key],
Object.getOwnPropertyDescriptor(Ctor.prototype, key)!,
)
}
}

3
packages/shared/src/general.ts

@ -165,6 +165,9 @@ export const toNumber = (val: any): any => {
return isNaN(n) ? val : n
}
// for typeof global checks without @types/node
declare var global: {}
let _globalThis: any
export const getGlobalThis = (): any => {
return (

4
packages/shared/src/toDisplayString.ts

@ -54,4 +54,6 @@ const replacer = (_key: string, val: any): any => {
}
const stringifySymbol = (v: unknown, i: number | string = ''): any =>
isSymbol(v) ? `Symbol(${v.description ?? i})` : v
// Symbol.description in es2019+ so we need to cast here to pass
// the lib: es2016 check
isSymbol(v) ? `Symbol(${(v as any).description ?? i})` : v

20
tsconfig.build-browser.json

@ -0,0 +1,20 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"types": [],
"declaration": true,
"emitDeclarationOnly": true,
"stripInternal": true
},
"include": [
"packages/global.d.ts",
"packages/vue/src",
"packages/vue-compat/src",
"packages/compiler-core/src",
"packages/compiler-dom/src",
"packages/runtime-core/src",
"packages/runtime-dom/src",
"packages/reactivity/src",
"packages/shared/src"
]
}

15
tsconfig.build-node.json

@ -0,0 +1,15 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"types": ["node"],
"declaration": true,
"emitDeclarationOnly": true,
"stripInternal": true
},
"include": [
"packages/global.d.ts",
"packages/compiler-sfc/src",
"packages/compiler-ssr/src",
"packages/server-renderer/src"
]
}

16
tsconfig.build.json

@ -1,16 +0,0 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"declaration": true,
"emitDeclarationOnly": true,
"stripInternal": true
},
"exclude": [
"packages/*/__tests__",
"packages/runtime-test",
"packages/template-explorer",
"packages/sfc-playground",
"packages/dts-test",
"packages/dts-built-test"
]
}
Loading…
Cancel
Save