vue-component-meta 3.2.5 → 3.2.6
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/checker.js +1 -1
- package/lib/componentMeta.d.ts +1 -1
- package/lib/componentMeta.js +6 -6
- package/lib/schemaResolvers.d.ts +1 -1
- package/lib/schemaResolvers.js +3 -3
- package/lib/scriptSetup.d.ts +1 -1
- package/lib/scriptSetup.js +1 -2
- package/package.json +3 -3
package/lib/checker.js
CHANGED
|
@@ -109,7 +109,7 @@ function createCheckerBase(ts, getConfigAndFiles, checkerOptions, rootPath) {
|
|
|
109
109
|
}
|
|
110
110
|
const checker = program.getTypeChecker();
|
|
111
111
|
const componentType = checker.getTypeAtLocation(componentNode);
|
|
112
|
-
return (0, componentMeta_1.getComponentMeta)(ts, checker, printer, language, componentNode, componentType, checkerOptions.schema ?? false, {
|
|
112
|
+
return (0, componentMeta_1.getComponentMeta)(ts, checker, printer, language, fileName => language.scripts.get(fileName), componentNode, componentType, checkerOptions.schema ?? false, {
|
|
113
113
|
noDeclarations: checkerOptions.noDeclarations ?? true,
|
|
114
114
|
rawType: checkerOptions.rawType ?? false,
|
|
115
115
|
});
|
package/lib/componentMeta.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as core from '@vue/language-core';
|
|
2
2
|
import type * as ts from 'typescript';
|
|
3
3
|
import type { ComponentMeta, MetaCheckerSchemaOptions } from './types';
|
|
4
|
-
export declare function getComponentMeta(ts: typeof import('typescript'), typeChecker: ts.TypeChecker, printer: ts.Printer, language: core.Language
|
|
4
|
+
export declare function getComponentMeta(ts: typeof import('typescript'), typeChecker: ts.TypeChecker, printer: ts.Printer, language: core.Language, getSourceScript: (fileName: string) => core.SourceScript | undefined, componentNode: ts.Node, componentType: ts.Type, options: MetaCheckerSchemaOptions, deprecatedOptions?: {
|
|
5
5
|
noDeclarations: boolean;
|
|
6
6
|
rawType: boolean;
|
|
7
7
|
}): ComponentMeta;
|
package/lib/componentMeta.js
CHANGED
|
@@ -38,7 +38,7 @@ const core = __importStar(require("@vue/language-core"));
|
|
|
38
38
|
const helpers_1 = require("./helpers");
|
|
39
39
|
const schemaResolvers_1 = require("./schemaResolvers");
|
|
40
40
|
const scriptSetup_1 = require("./scriptSetup");
|
|
41
|
-
function getComponentMeta(ts, typeChecker, printer, language, componentNode, componentType, options, deprecatedOptions = { noDeclarations: true, rawType: false }) {
|
|
41
|
+
function getComponentMeta(ts, typeChecker, printer, language, getSourceScript, componentNode, componentType, options, deprecatedOptions = { noDeclarations: true, rawType: false }) {
|
|
42
42
|
const componentSymbol = typeChecker.getSymbolAtLocation(componentNode);
|
|
43
43
|
let componentFile = componentNode.getSourceFile();
|
|
44
44
|
if (componentSymbol) {
|
|
@@ -95,11 +95,11 @@ function getComponentMeta(ts, typeChecker, printer, language, componentNode, com
|
|
|
95
95
|
const eventProps = new Set(meta.events.map(event => `on${event.name.charAt(0).toUpperCase()}${event.name.slice(1)}`));
|
|
96
96
|
result = properties
|
|
97
97
|
.map(prop => {
|
|
98
|
-
const { resolveNestedProperties, } = (0, schemaResolvers_1.createSchemaResolvers)(ts, typeChecker, printer, language, options, deprecatedOptions);
|
|
98
|
+
const { resolveNestedProperties, } = (0, schemaResolvers_1.createSchemaResolvers)(ts, typeChecker, printer, language, getSourceScript, options, deprecatedOptions);
|
|
99
99
|
return resolveNestedProperties(prop);
|
|
100
100
|
})
|
|
101
101
|
.filter((prop) => !!prop && !eventProps.has(prop.name));
|
|
102
|
-
const defaults = (0, scriptSetup_1.getDefaultsFromScriptSetup)(ts, printer,
|
|
102
|
+
const defaults = (0, scriptSetup_1.getDefaultsFromScriptSetup)(ts, printer, getSourceScript(componentFile.fileName));
|
|
103
103
|
for (const prop of result) {
|
|
104
104
|
if (prop.name.match(/^onVnode[A-Z]/)) {
|
|
105
105
|
prop.name = 'onVue:' + prop.name['onVnode'.length]?.toLowerCase() + prop.name.slice('onVnode'.length + 1);
|
|
@@ -113,7 +113,7 @@ function getComponentMeta(ts, typeChecker, printer, language, componentNode, com
|
|
|
113
113
|
if (emitType) {
|
|
114
114
|
const calls = emitType.getCallSignatures();
|
|
115
115
|
return calls.map(call => {
|
|
116
|
-
const { resolveEventSignature, } = (0, schemaResolvers_1.createSchemaResolvers)(ts, typeChecker, printer, language, options, deprecatedOptions);
|
|
116
|
+
const { resolveEventSignature, } = (0, schemaResolvers_1.createSchemaResolvers)(ts, typeChecker, printer, language, getSourceScript, options, deprecatedOptions);
|
|
117
117
|
return resolveEventSignature(call);
|
|
118
118
|
}).filter(event => event.name);
|
|
119
119
|
}
|
|
@@ -124,7 +124,7 @@ function getComponentMeta(ts, typeChecker, printer, language, componentNode, com
|
|
|
124
124
|
if (slotsType) {
|
|
125
125
|
const properties = slotsType.getProperties();
|
|
126
126
|
return properties.map(prop => {
|
|
127
|
-
const { resolveSlotProperties, } = (0, schemaResolvers_1.createSchemaResolvers)(ts, typeChecker, printer, language, options, deprecatedOptions);
|
|
127
|
+
const { resolveSlotProperties, } = (0, schemaResolvers_1.createSchemaResolvers)(ts, typeChecker, printer, language, getSourceScript, options, deprecatedOptions);
|
|
128
128
|
return resolveSlotProperties(prop);
|
|
129
129
|
});
|
|
130
130
|
}
|
|
@@ -144,7 +144,7 @@ function getComponentMeta(ts, typeChecker, printer, language, componentNode, com
|
|
|
144
144
|
// Exclude $slots
|
|
145
145
|
&& prop.name !== '$slots');
|
|
146
146
|
return properties.map(prop => {
|
|
147
|
-
const { resolveExposedProperties, } = (0, schemaResolvers_1.createSchemaResolvers)(ts, typeChecker, printer, language, options, deprecatedOptions);
|
|
147
|
+
const { resolveExposedProperties, } = (0, schemaResolvers_1.createSchemaResolvers)(ts, typeChecker, printer, language, getSourceScript, options, deprecatedOptions);
|
|
148
148
|
return resolveExposedProperties(prop);
|
|
149
149
|
});
|
|
150
150
|
}
|
package/lib/schemaResolvers.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type * as core from '@vue/language-core';
|
|
2
2
|
import type * as ts from 'typescript';
|
|
3
3
|
import type { EventMeta, ExposeMeta, PropertyMeta, PropertyMetaSchema, SlotMeta } from './types';
|
|
4
|
-
export declare function createSchemaResolvers(ts: typeof import('typescript'), typeChecker: ts.TypeChecker, printer: ts.Printer, language: core.Language
|
|
4
|
+
export declare function createSchemaResolvers(ts: typeof import('typescript'), typeChecker: ts.TypeChecker, printer: ts.Printer, language: core.Language, getSourceScript: (fileName: string) => core.SourceScript | undefined, options: import('./types').MetaCheckerSchemaOptions, deprecatedOptions: {
|
|
5
5
|
noDeclarations: boolean;
|
|
6
6
|
rawType: boolean;
|
|
7
7
|
}): {
|
package/lib/schemaResolvers.js
CHANGED
|
@@ -8,7 +8,7 @@ const publicPropsInterfaces = new Set([
|
|
|
8
8
|
'AllowedComponentProps',
|
|
9
9
|
'ComponentCustomProps',
|
|
10
10
|
]);
|
|
11
|
-
function createSchemaResolvers(ts, typeChecker, printer, language, options, deprecatedOptions) {
|
|
11
|
+
function createSchemaResolvers(ts, typeChecker, printer, language, getSourceScript, options, deprecatedOptions) {
|
|
12
12
|
const visited = new Set();
|
|
13
13
|
function shouldIgnore(subtype) {
|
|
14
14
|
const name = getFullyQualifiedName(subtype);
|
|
@@ -311,7 +311,7 @@ function createSchemaResolvers(ts, typeChecker, printer, language, options, depr
|
|
|
311
311
|
}
|
|
312
312
|
function getDeclaration(declaration) {
|
|
313
313
|
const fileName = declaration.getSourceFile().fileName;
|
|
314
|
-
const sourceScript =
|
|
314
|
+
const sourceScript = getSourceScript(fileName);
|
|
315
315
|
if (sourceScript?.generated) {
|
|
316
316
|
const script = sourceScript.generated.languagePlugin.typescript?.getServiceScript(sourceScript.generated.root);
|
|
317
317
|
if (script) {
|
|
@@ -319,7 +319,7 @@ function createSchemaResolvers(ts, typeChecker, printer, language, options, depr
|
|
|
319
319
|
for (const [start] of map.toSourceLocation(declaration.getStart())) {
|
|
320
320
|
for (const [end] of map.toSourceLocation(declaration.getEnd())) {
|
|
321
321
|
return {
|
|
322
|
-
file: sourceScript.id,
|
|
322
|
+
file: String(sourceScript.id),
|
|
323
323
|
range: [start, end],
|
|
324
324
|
};
|
|
325
325
|
}
|
package/lib/scriptSetup.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import * as core from '@vue/language-core';
|
|
2
2
|
import type * as ts from 'typescript';
|
|
3
|
-
export declare function getDefaultsFromScriptSetup(ts: typeof import('typescript'), printer: ts.Printer,
|
|
3
|
+
export declare function getDefaultsFromScriptSetup(ts: typeof import('typescript'), printer: ts.Printer, sourceScript: core.SourceScript | undefined): Map<string, string> | undefined;
|
|
4
4
|
export declare function resolveDefaultOptionExpression(ts: typeof import('typescript'), _default: ts.Expression): ts.Expression;
|
package/lib/scriptSetup.js
CHANGED
|
@@ -36,8 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.getDefaultsFromScriptSetup = getDefaultsFromScriptSetup;
|
|
37
37
|
exports.resolveDefaultOptionExpression = resolveDefaultOptionExpression;
|
|
38
38
|
const core = __importStar(require("@vue/language-core"));
|
|
39
|
-
function getDefaultsFromScriptSetup(ts, printer,
|
|
40
|
-
const sourceScript = language.scripts.get(componentPath);
|
|
39
|
+
function getDefaultsFromScriptSetup(ts, printer, sourceScript) {
|
|
41
40
|
const virtualCode = sourceScript?.generated?.root;
|
|
42
41
|
if (!virtualCode) {
|
|
43
42
|
return;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vue-component-meta",
|
|
3
|
-
"version": "3.2.
|
|
3
|
+
"version": "3.2.6",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"files": [
|
|
6
6
|
"**/*.js",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@volar/typescript": "2.4.28",
|
|
17
|
-
"@vue/language-core": "3.2.
|
|
17
|
+
"@vue/language-core": "3.2.6",
|
|
18
18
|
"path-browserify": "^1.0.1"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
@@ -29,5 +29,5 @@
|
|
|
29
29
|
"optional": true
|
|
30
30
|
}
|
|
31
31
|
},
|
|
32
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "94907be4f056f25867e46a117ab18d2782b425d7"
|
|
33
33
|
}
|