vue-component-meta 0.39.5 → 0.40.0
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/out/index.js +9 -8
- package/package.json +3 -3
package/out/index.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
2
|
exports.createComponentMetaChecker = void 0;
|
|
3
3
|
const vue = require("@volar/vue-language-core");
|
|
4
|
+
const vue_language_core_1 = require("@volar/vue-language-core");
|
|
4
5
|
const ts = require("typescript/lib/tsserverlibrary");
|
|
5
6
|
function createComponentMetaChecker(tsconfigPath, checkerOptions = {}) {
|
|
6
|
-
const parsedCommandLine = vue.
|
|
7
|
+
const parsedCommandLine = vue.createParsedCommandLine(ts, {
|
|
7
8
|
useCaseSensitiveFileNames: ts.sys.useCaseSensitiveFileNames,
|
|
8
9
|
readDirectory: (path, extensions, exclude, include, depth) => {
|
|
9
10
|
return ts.sys.readDirectory(path, [...extensions, '.vue'], exclude, include, depth);
|
|
@@ -124,7 +125,7 @@ function createComponentMetaChecker(tsconfigPath, checkerOptions = {}) {
|
|
|
124
125
|
const printer = checkerOptions.printer ? ts.createPrinter(checkerOptions.printer) : undefined;
|
|
125
126
|
const snapshot = host.getScriptSnapshot(componentPath);
|
|
126
127
|
const vueDefaults = componentPath.endsWith('.vue') && exportName === 'default'
|
|
127
|
-
? readVueComponentDefaultProps(snapshot.getText(0, snapshot.getLength()), printer)
|
|
128
|
+
? readVueComponentDefaultProps(core, snapshot.getText(0, snapshot.getLength()), printer)
|
|
128
129
|
: {};
|
|
129
130
|
const tsDefaults = !componentPath.endsWith('.vue') ? readTsComponentDefaultProps(componentPath.substring(componentPath.lastIndexOf('.') + 1), // ts | js | tsx | jsx
|
|
130
131
|
snapshot.getText(0, snapshot.getLength()), exportName, printer) : {};
|
|
@@ -345,16 +346,16 @@ function createSchemaResolvers(typeChecker, symbolNode, { rawType, schema: optio
|
|
|
345
346
|
resolveSchema,
|
|
346
347
|
};
|
|
347
348
|
}
|
|
348
|
-
function readVueComponentDefaultProps(vueFileText, printer) {
|
|
349
|
+
function readVueComponentDefaultProps(core, vueFileText, printer) {
|
|
349
350
|
let result = {};
|
|
350
351
|
scriptSetupWorker();
|
|
351
352
|
scriptWorker();
|
|
352
353
|
return result;
|
|
353
354
|
function scriptSetupWorker() {
|
|
354
355
|
var _a;
|
|
355
|
-
const vueSourceFile = vue.createSourceFile('/tmp.vue', vueFileText, {},
|
|
356
|
-
const descriptor = vueSourceFile.
|
|
357
|
-
const scriptSetupRanges =
|
|
356
|
+
const vueSourceFile = vue.createSourceFile('/tmp.vue', vueFileText, {}, ts, core.plugins);
|
|
357
|
+
const descriptor = vueSourceFile.sfc;
|
|
358
|
+
const scriptSetupRanges = descriptor.scriptSetupAst ? (0, vue_language_core_1.parseScriptSetupRanges)(ts, descriptor.scriptSetupAst) : undefined;
|
|
358
359
|
if (descriptor.scriptSetup && (scriptSetupRanges === null || scriptSetupRanges === void 0 ? void 0 : scriptSetupRanges.withDefaultsArg)) {
|
|
359
360
|
const defaultsText = descriptor.scriptSetup.content.substring(scriptSetupRanges.withDefaultsArg.start, scriptSetupRanges.withDefaultsArg.end);
|
|
360
361
|
const ast = ts.createSourceFile('/tmp.' + descriptor.scriptSetup.lang, '(' + defaultsText + ')', ts.ScriptTarget.Latest);
|
|
@@ -394,8 +395,8 @@ function readVueComponentDefaultProps(vueFileText, printer) {
|
|
|
394
395
|
}
|
|
395
396
|
}
|
|
396
397
|
function scriptWorker() {
|
|
397
|
-
const vueSourceFile = vue.createSourceFile('/tmp.vue', vueFileText, {},
|
|
398
|
-
const descriptor = vueSourceFile.
|
|
398
|
+
const vueSourceFile = vue.createSourceFile('/tmp.vue', vueFileText, {}, ts, core.plugins);
|
|
399
|
+
const descriptor = vueSourceFile.sfc;
|
|
399
400
|
if (descriptor.script) {
|
|
400
401
|
const scriptResult = readTsComponentDefaultProps(descriptor.script.lang, descriptor.script.content, 'default', printer);
|
|
401
402
|
for (const [key, value] of Object.entries(scriptResult)) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vue-component-meta",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.40.0",
|
|
4
4
|
"main": "out/index.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": [
|
|
@@ -13,10 +13,10 @@
|
|
|
13
13
|
"directory": "packages/vue-component-meta"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@volar/vue-language-core": "0.
|
|
16
|
+
"@volar/vue-language-core": "0.40.0"
|
|
17
17
|
},
|
|
18
18
|
"peerDependencies": {
|
|
19
19
|
"typescript": "*"
|
|
20
20
|
},
|
|
21
|
-
"gitHead": "
|
|
21
|
+
"gitHead": "9207e74225db0e0e262f805063bc549dfed6a436"
|
|
22
22
|
}
|