Skip to content

Commit 2acb547

Browse files
committed
types: generate types for v3 apis
1 parent e5a6fe5 commit 2acb547

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+957
-104
lines changed

.gitignore

+2-7
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,7 @@ node_modules
33
*.log
44
explorations
55
TODOs.md
6-
dist/*.gz
7-
dist/*.map
8-
dist/vue.common.min.js
9-
test/e2e/reports
10-
test/e2e/screenshots
11-
coverage
126
RELEASE_NOTE*.md
13-
dist/*.js
147
packages/vue-server-renderer/basic.js
158
packages/vue-server-renderer/build.dev.js
169
packages/vue-server-renderer/build.prod.js
@@ -20,3 +13,5 @@ packages/vue-template-compiler/build.js
2013
packages/vue-template-compiler/browser.js
2114
.vscode
2215
dist
16+
temp
17+
types/v3-generated.d.ts

api-extractor.json

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
{
2+
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3+
4+
"projectFolder": ".",
5+
6+
"compiler": {
7+
"tsconfigFilePath": "api-extractor.tsconfig.json"
8+
},
9+
10+
"mainEntryPointFilePath": "./temp/src/v3/index.d.ts",
11+
12+
"dtsRollup": {
13+
"enabled": true,
14+
"publicTrimmedFilePath": "./types/v3-generated.d.ts"
15+
},
16+
17+
"apiReport": {
18+
"enabled": false
19+
},
20+
21+
"docModel": {
22+
"enabled": false
23+
},
24+
25+
"tsdocMetadata": {
26+
"enabled": false
27+
},
28+
29+
"messages": {
30+
"compilerMessageReporting": {
31+
"default": {
32+
"logLevel": "warning"
33+
}
34+
},
35+
36+
"extractorMessageReporting": {
37+
"default": {
38+
"logLevel": "warning",
39+
"addToApiReportFile": true
40+
},
41+
42+
"ae-missing-release-tag": {
43+
"logLevel": "none"
44+
},
45+
"ae-internal-missing-underscore": {
46+
"logLevel": "none"
47+
},
48+
"ae-forgotten-export": {
49+
"logLevel": "none"
50+
}
51+
},
52+
53+
"tsdocMessageReporting": {
54+
"default": {
55+
"logLevel": "warning"
56+
},
57+
58+
"tsdoc-undefined-tag": {
59+
"logLevel": "none"
60+
}
61+
}
62+
}
63+
}

api-extractor.tsconfig.json

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"compilerOptions": {
3+
"baseUrl": "./temp",
4+
"outDir": "dist",
5+
"sourceMap": true,
6+
"target": "esnext",
7+
"module": "ESNext",
8+
"moduleResolution": "node",
9+
"strict": true,
10+
11+
"allowJs": true,
12+
"noImplicitAny": false,
13+
"noImplicitThis": false,
14+
15+
"noUnusedLocals": true,
16+
"experimentalDecorators": true,
17+
"resolveJsonModule": true,
18+
"esModuleInterop": true,
19+
"removeComments": false,
20+
"jsx": "preserve",
21+
"lib": ["esnext", "dom"],
22+
"paths": {
23+
"compiler/*": ["src/compiler/*"],
24+
"core/*": ["src/core/*"],
25+
"server/*": ["src/server/*"],
26+
"sfc/*": ["src/sfc/*"],
27+
"shared/*": ["src/shared/*"],
28+
"web/*": ["src/platforms/web/*"],
29+
"v3": ["src/v3/index"],
30+
"v3/*": ["src/v3/*"],
31+
"vue": ["src/platforms/web/entry-runtime-with-compiler"]
32+
}
33+
},
34+
"include": ["src", "typescript"]
35+
}

package.json

+4-1
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,13 @@
2222
"dev:compiler": "rollup -w -c scripts/config.js --environment TARGET:web-compiler ",
2323
"build": "node scripts/build.js",
2424
"build:ssr": "npm run build -- web-runtime-cjs,web-server-renderer",
25+
"build:types": "rimraf temp && tsc --declaration --emitDeclarationOnly --outDir temp && api-extractor run",
2526
"test": "npm run lint && npm run ts-check && npm run test:types && npm run test:unit && npm run test:e2e",
2627
"test:unit": "vitest run test/unit",
2728
"test:ssr": "npm run build:ssr && vitest run test/ssr",
2829
"test:e2e": "npm run build -- web-full-prod,web-server-renderer-basic && vitest run test/e2e",
2930
"test:transition": "karma start test/transition/karma.conf.js",
30-
"test:types": "tsc -p ./types/tsconfig.json",
31+
"test:types": "npm run build:types && tsc -p ./types/tsconfig.json",
3132
"format": "prettier --write --parser typescript \"(src|test|packages|types)/**/*.ts\"",
3233
"ts-check": "tsc -p tsconfig.json --noEmit",
3334
"ts-check:test": "tsc -p test/tsconfig.json --noEmit",
@@ -62,6 +63,7 @@
6263
},
6364
"homepage": "https://github.com/vuejs/vue#readme",
6465
"devDependencies": {
66+
"@microsoft/api-extractor": "^7.24.2",
6567
"@rollup/plugin-alias": "^3.1.9",
6668
"@rollup/plugin-commonjs": "^22.0.0",
6769
"@rollup/plugin-node-resolve": "^13.2.1",
@@ -98,6 +100,7 @@
98100
"prettier": "^2.6.2",
99101
"puppeteer": "^14.1.1",
100102
"resolve": "^1.22.0",
103+
"rimraf": "^3.0.2",
101104
"rollup": "^2.70.2",
102105
"rollup-plugin-typescript2": "^0.31.2",
103106
"serialize-javascript": "^6.0.0",

0 commit comments

Comments
 (0)