vue-component-meta 2.0.6 → 2.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/base.js +14 -14
- package/package.json +5 -5
package/lib/base.js
CHANGED
|
@@ -40,14 +40,13 @@ function createCheckerWorker(ts, loadParsedCommandLine, checkerOptions, rootPath
|
|
|
40
40
|
let fileNames = parsedCommandLine.fileNames.map(path => path.replace(windowsPathReg, '/'));
|
|
41
41
|
let projectVersion = 0;
|
|
42
42
|
const scriptSnapshots = new Map();
|
|
43
|
-
const resolvedVueOptions = vue.resolveVueCompilerOptions(parsedCommandLine.vueOptions);
|
|
44
43
|
const _host = {
|
|
45
44
|
getCurrentDirectory: () => rootPath,
|
|
46
45
|
getProjectVersion: () => projectVersion.toString(),
|
|
47
46
|
getCompilationSettings: () => parsedCommandLine.options,
|
|
48
47
|
getScriptFileNames: () => fileNames,
|
|
49
48
|
getProjectReferences: () => parsedCommandLine.projectReferences,
|
|
50
|
-
getScriptSnapshot:
|
|
49
|
+
getScriptSnapshot: fileName => {
|
|
51
50
|
if (!scriptSnapshots.has(fileName)) {
|
|
52
51
|
const fileText = ts.sys.readFile(fileName);
|
|
53
52
|
if (fileText !== undefined) {
|
|
@@ -57,14 +56,14 @@ function createCheckerWorker(ts, loadParsedCommandLine, checkerOptions, rootPath
|
|
|
57
56
|
return scriptSnapshots.get(fileName);
|
|
58
57
|
},
|
|
59
58
|
getLanguageId: fileName => {
|
|
60
|
-
if (
|
|
59
|
+
if (parsedCommandLine.vueOptions.extensions.some(ext => fileName.endsWith(ext))) {
|
|
61
60
|
return 'vue';
|
|
62
61
|
}
|
|
63
62
|
return vue.resolveCommonLanguageId(fileName);
|
|
64
63
|
},
|
|
65
64
|
};
|
|
66
65
|
return {
|
|
67
|
-
...baseCreate(ts, configFileName, _host,
|
|
66
|
+
...baseCreate(ts, configFileName, _host, parsedCommandLine.vueOptions, checkerOptions, globalComponentName),
|
|
68
67
|
updateFile(fileName, text) {
|
|
69
68
|
fileName = fileName.replace(windowsPathReg, '/');
|
|
70
69
|
scriptSnapshots.set(fileName, ts.ScriptSnapshot.fromString(text));
|
|
@@ -100,7 +99,7 @@ function baseCreate(ts, configFileName, host, vueCompilerOptions, checkerOptions
|
|
|
100
99
|
getMetaFileName(globalComponentName),
|
|
101
100
|
];
|
|
102
101
|
};
|
|
103
|
-
host.getScriptSnapshot =
|
|
102
|
+
host.getScriptSnapshot = fileName => {
|
|
104
103
|
if (isMetaFileName(fileName)) {
|
|
105
104
|
if (!metaSnapshots[fileName]) {
|
|
106
105
|
metaSnapshots[fileName] = ts.ScriptSnapshot.fromString(getMetaScriptContent(fileName));
|
|
@@ -136,7 +135,7 @@ function baseCreate(ts, configFileName, host, vueCompilerOptions, checkerOptions
|
|
|
136
135
|
const tsLs = ts.createLanguageService(languageServiceHost);
|
|
137
136
|
if (checkerOptions.forceUseTs) {
|
|
138
137
|
const getScriptKind = languageServiceHost.getScriptKind?.bind(languageServiceHost);
|
|
139
|
-
languageServiceHost.getScriptKind =
|
|
138
|
+
languageServiceHost.getScriptKind = fileName => {
|
|
140
139
|
if (fileName.endsWith('.vue.js')) {
|
|
141
140
|
return ts.ScriptKind.TS;
|
|
142
141
|
}
|
|
@@ -186,7 +185,7 @@ ${vueCompilerOptions.target < 3 ? vue2_1.code : vue_component_type_helpers_1.cod
|
|
|
186
185
|
const program = tsLs.getProgram();
|
|
187
186
|
const typeChecker = program.getTypeChecker();
|
|
188
187
|
const { symbolNode, exports } = _getExports(program, typeChecker, componentPath);
|
|
189
|
-
const _export = exports.find(
|
|
188
|
+
const _export = exports.find(property => property.getName() === exportName);
|
|
190
189
|
if (!_export) {
|
|
191
190
|
throw `Could not find export ${exportName}`;
|
|
192
191
|
}
|
|
@@ -230,11 +229,11 @@ ${vueCompilerOptions.target < 3 ? vue2_1.code : vue_component_type_helpers_1.cod
|
|
|
230
229
|
const type = typeChecker.getTypeOfSymbolAtLocation($props, symbolNode);
|
|
231
230
|
const properties = type.getProperties();
|
|
232
231
|
result = properties
|
|
233
|
-
.map(
|
|
232
|
+
.map(prop => {
|
|
234
233
|
const { resolveNestedProperties, } = createSchemaResolvers(typeChecker, symbolNode, checkerOptions, ts, language);
|
|
235
234
|
return resolveNestedProperties(prop);
|
|
236
235
|
})
|
|
237
|
-
.filter(
|
|
236
|
+
.filter(prop => !prop.name.match(propEventRegex));
|
|
238
237
|
}
|
|
239
238
|
// fill global
|
|
240
239
|
if (componentPath !== globalComponentName) {
|
|
@@ -274,7 +273,7 @@ ${vueCompilerOptions.target < 3 ? vue2_1.code : vue_component_type_helpers_1.cod
|
|
|
274
273
|
if ($emit) {
|
|
275
274
|
const type = typeChecker.getTypeOfSymbolAtLocation($emit, symbolNode);
|
|
276
275
|
const calls = type.getCallSignatures();
|
|
277
|
-
return calls.map(
|
|
276
|
+
return calls.map(call => {
|
|
278
277
|
const { resolveEventSignature, } = createSchemaResolvers(typeChecker, symbolNode, checkerOptions, ts, language);
|
|
279
278
|
return resolveEventSignature(call);
|
|
280
279
|
}).filter(event => event.name);
|
|
@@ -286,7 +285,7 @@ ${vueCompilerOptions.target < 3 ? vue2_1.code : vue_component_type_helpers_1.cod
|
|
|
286
285
|
if ($slots) {
|
|
287
286
|
const type = typeChecker.getTypeOfSymbolAtLocation($slots, symbolNode);
|
|
288
287
|
const properties = type.getProperties();
|
|
289
|
-
return properties.map(
|
|
288
|
+
return properties.map(prop => {
|
|
290
289
|
const { resolveSlotProperties, } = createSchemaResolvers(typeChecker, symbolNode, checkerOptions, ts, language);
|
|
291
290
|
return resolveSlotProperties(prop);
|
|
292
291
|
});
|
|
@@ -300,7 +299,7 @@ ${vueCompilerOptions.target < 3 ? vue2_1.code : vue_component_type_helpers_1.cod
|
|
|
300
299
|
const properties = type.getProperties().filter(prop =>
|
|
301
300
|
// only exposed props will not have a valueDeclaration
|
|
302
301
|
!prop.valueDeclaration);
|
|
303
|
-
return properties.map(
|
|
302
|
+
return properties.map(prop => {
|
|
304
303
|
const { resolveExposedProperties, } = createSchemaResolvers(typeChecker, symbolNode, checkerOptions, ts, language);
|
|
305
304
|
return resolveExposedProperties(prop);
|
|
306
305
|
});
|
|
@@ -351,8 +350,9 @@ function createSchemaResolvers(typeChecker, symbolNode, { rawType, schema: optio
|
|
|
351
350
|
for (const item of options.ignore ?? []) {
|
|
352
351
|
if (typeof item === 'function') {
|
|
353
352
|
const result = item(name, subtype, typeChecker);
|
|
354
|
-
if (typeof result === 'boolean')
|
|
353
|
+
if (typeof result === 'boolean') {
|
|
355
354
|
return result;
|
|
355
|
+
}
|
|
356
356
|
}
|
|
357
357
|
else if (name === item) {
|
|
358
358
|
return true;
|
|
@@ -392,7 +392,7 @@ function createSchemaResolvers(typeChecker, symbolNode, { rawType, schema: optio
|
|
|
392
392
|
const propType = typeChecker.getNonNullableType(typeChecker.getTypeOfSymbolAtLocation(prop, symbolNode));
|
|
393
393
|
const signatures = propType.getCallSignatures();
|
|
394
394
|
const paramType = signatures[0].parameters[0];
|
|
395
|
-
const subtype = typeChecker.getTypeOfSymbolAtLocation(paramType, symbolNode);
|
|
395
|
+
const subtype = paramType ? typeChecker.getTypeOfSymbolAtLocation(paramType, symbolNode) : typeChecker.getAnyType();
|
|
396
396
|
let schema;
|
|
397
397
|
let declarations;
|
|
398
398
|
return {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vue-component-meta",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.7",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"files": [
|
|
6
6
|
"**/*.js",
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
"directory": "packages/component-meta"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@volar/typescript": "~2.1.
|
|
16
|
-
"@vue/language-core": "2.0.
|
|
15
|
+
"@volar/typescript": "~2.1.3",
|
|
16
|
+
"@vue/language-core": "2.0.7",
|
|
17
17
|
"path-browserify": "^1.0.1",
|
|
18
|
-
"vue-component-type-helpers": "2.0.
|
|
18
|
+
"vue-component-type-helpers": "2.0.7"
|
|
19
19
|
},
|
|
20
20
|
"peerDependencies": {
|
|
21
21
|
"typescript": "*"
|
|
@@ -29,5 +29,5 @@
|
|
|
29
29
|
"@types/node": "latest",
|
|
30
30
|
"@types/path-browserify": "latest"
|
|
31
31
|
},
|
|
32
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "4a37e8f3ebcf31ecfd2ea627f7611d5990ec5df6"
|
|
33
33
|
}
|