Socket
Socket
Sign inDemoInstall

@vue/language-core

Package Overview
Dependencies
Maintainers
1
Versions
81
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vue/language-core - npm Package Compare versions

Comparing version 1.7.8 to 1.7.9

149

out/generators/script.js

@@ -59,3 +59,3 @@ "use strict";

};
codes.push('/* __vue_virtual_code_placeholder__ */\n');
codes.push(`/* ${Object.entries(vueCompilerOptions).map(([key, value]) => `${key}: ${JSON.stringify(value)}`).join(', ')} */\n`);
let generatedTemplate = false;

@@ -285,69 +285,58 @@ generateSrc();

//#region props
if (scriptSetupRanges.propsRuntimeArg
|| scriptSetupRanges.defineProp.length) {
if (scriptSetupRanges.propsRuntimeArg) {
codes.push(`const __VLS_props = (new __VLS_publicComponent()).$props;\n`);
}
else if (scriptSetupRanges.defineProp.length) {
codes.push(`const __VLS_defaults = {\n`);
for (const defineProp of scriptSetupRanges.defineProp) {
if (defineProp.defaultValue) {
if (defineProp.name) {
codes.push(sfc.scriptSetup.content.substring(defineProp.name.start, defineProp.name.end));
}
else {
codes.push('modelValue');
}
codes.push(`: `);
codes.push(sfc.scriptSetup.content.substring(defineProp.defaultValue.start, defineProp.defaultValue.end));
codes.push(`,\n`);
}
}
codes.push(`};\n`);
codes.push(`let __VLS_props!: {\n`);
for (const defineProp of scriptSetupRanges.defineProp) {
let propName = 'modelValue';
if (scriptSetupRanges.defineProp.length) {
codes.push(`const __VLS_defaults = {\n`);
for (const defineProp of scriptSetupRanges.defineProp) {
if (defineProp.defaultValue) {
if (defineProp.name) {
propName = sfc.scriptSetup.content.substring(defineProp.name.start, defineProp.name.end);
const propMirrorStart = muggle.getLength(codes);
definePropMirrors[propName] = [propMirrorStart, propMirrorStart + propName.length];
codes.push(sfc.scriptSetup.content.substring(defineProp.name.start, defineProp.name.end));
}
codes.push(`${propName}${defineProp.required ? '' : '?'}: `);
if (defineProp.type) {
codes.push(sfc.scriptSetup.content.substring(defineProp.type.start, defineProp.type.end));
}
else if (defineProp.defaultValue) {
codes.push(`typeof __VLS_defaults['`);
codes.push(propName);
codes.push(`']`);
}
else {
codes.push(`any`);
codes.push('modelValue');
}
codes.push(',\n');
codes.push(`: `);
codes.push(sfc.scriptSetup.content.substring(defineProp.defaultValue.start, defineProp.defaultValue.end));
codes.push(`,\n`);
}
codes.push(`};\n`);
}
if (scriptSetupRanges.slotsTypeArg && vueCompilerOptions.jsxSlots) {
usedHelperTypes.PropsChildren = true;
codes.push(` & __VLS_PropsChildren<`);
addExtraReferenceVirtualCode('scriptSetup', scriptSetupRanges.slotsTypeArg.start, scriptSetupRanges.slotsTypeArg.end);
codes.push(`>`);
}
codes.push(`;\n`);
codes.push(`};\n`);
}
else {
codes.push(`const __VLS_props: {}`);
if (scriptSetupRanges.slotsTypeArg && vueCompilerOptions.jsxSlots) {
usedHelperTypes.PropsChildren = true;
codes.push(` & __VLS_PropsChildren<`);
addExtraReferenceVirtualCode('scriptSetup', scriptSetupRanges.slotsTypeArg.start, scriptSetupRanges.slotsTypeArg.end);
codes.push(`>`);
codes.push(`let __VLS_props!: {}`);
if (scriptSetupRanges.propsRuntimeArg) {
codes.push(` & InstanceType<typeof __VLS_publicComponent>['$props']`);
}
if (scriptSetupRanges.propsTypeArg) {
codes.push(` & `);
addVirtualCode('scriptSetup', scriptSetupRanges.propsTypeArg.start, scriptSetupRanges.propsTypeArg.end);
}
if (scriptSetupRanges.defineProp.length) {
codes.push(` & {\n`);
for (const defineProp of scriptSetupRanges.defineProp) {
let propName = 'modelValue';
if (defineProp.name) {
propName = sfc.scriptSetup.content.substring(defineProp.name.start, defineProp.name.end);
const propMirrorStart = muggle.getLength(codes);
definePropMirrors[propName] = [propMirrorStart, propMirrorStart + propName.length];
}
codes.push(`${propName}${defineProp.required ? '' : '?'}: `);
if (defineProp.type) {
codes.push(sfc.scriptSetup.content.substring(defineProp.type.start, defineProp.type.end));
}
else if (defineProp.defaultValue) {
codes.push(`typeof __VLS_defaults['`);
codes.push(propName);
codes.push(`']`);
}
else {
codes.push(`any`);
}
codes.push(',\n');
}
if (scriptSetupRanges.propsTypeArg) {
codes.push(' & ');
addExtraReferenceVirtualCode('scriptSetup', scriptSetupRanges.propsTypeArg.start, scriptSetupRanges.propsTypeArg.end);
}
codes.push(`;\n`);
codes.push(`}`);
}
if (scriptSetupRanges.slotsTypeArg && vueCompilerOptions.jsxSlots) {
usedHelperTypes.PropsChildren = true;
codes.push(` & __VLS_PropsChildren<`);
addExtraReferenceVirtualCode('scriptSetup', scriptSetupRanges.slotsTypeArg.start, scriptSetupRanges.slotsTypeArg.end);
}
codes.push(`;\n`);
//#endregion

@@ -444,13 +433,4 @@ //#region emits

}
if (scriptRanges?.exportDefault && scriptRanges.exportDefault.expression.start !== scriptRanges.exportDefault.args.start) {
// use defineComponent() from user space code if it exist
codes.push(`const __VLS_publicComponent = `);
addVirtualCode('script', scriptRanges.exportDefault.expression.start, scriptRanges.exportDefault.args.start);
codes.push(`{\n`);
}
else {
codes.push(`const __VLS_publicComponent = (await import('${vueCompilerOptions.lib}')).defineComponent({\n`);
}
if (scriptSetupRanges.defineProp.length) {
codes.push(`props: {} as {\n`);
if (!functional && scriptSetupRanges.defineProp.length) {
codes.push(`let __VLS_propsOption_defineProp!: {\n`);
for (const defineProp of scriptSetupRanges.defineProp) {

@@ -486,10 +466,24 @@ let propName = 'modelValue';

}
codes.push(`},\n`);
codes.push(`};\n`);
}
if (scriptRanges?.exportDefault && scriptRanges.exportDefault.expression.start !== scriptRanges.exportDefault.args.start) {
// use defineComponent() from user space code if it exist
codes.push(`const __VLS_publicComponent = `);
addVirtualCode('script', scriptRanges.exportDefault.expression.start, scriptRanges.exportDefault.args.start);
codes.push(`{\n`);
}
else {
codes.push(`const __VLS_publicComponent = (await import('${vueCompilerOptions.lib}')).defineComponent({\n`);
}
if (!bypassDefineComponent) {
if (scriptSetupRanges.propsRuntimeArg || scriptSetupRanges.propsTypeArg) {
codes.push(`props: (`);
if (scriptSetupRanges.propsRuntimeArg || scriptSetupRanges.propsTypeArg || (!functional && scriptSetupRanges.defineProp.length)) {
codes.push(`props: {\n`);
if (scriptSetupRanges.propsRuntimeArg) {
codes.push('...');
addExtraReferenceVirtualCode('scriptSetup', scriptSetupRanges.propsRuntimeArg.start, scriptSetupRanges.propsRuntimeArg.end);
codes.push(',\n');
}
if (scriptSetupRanges.propsTypeArg) {
usedHelperTypes.DefinePropsToOptions = true;
codes.push(`{} as `);
codes.push('...{} as ');
if (scriptSetupRanges.withDefaultsArg) {

@@ -511,7 +505,8 @@ usedHelperTypes.mergePropDefaults = true;

}
codes.push(',\n');
}
else if (scriptSetupRanges.propsRuntimeArg) {
addExtraReferenceVirtualCode('scriptSetup', scriptSetupRanges.propsRuntimeArg.start, scriptSetupRanges.propsRuntimeArg.end);
if (!functional && scriptSetupRanges.defineProp.length) {
codes.push(`...__VLS_propsOption_defineProp,\n`);
}
codes.push(`),\n`);
codes.push(`},\n`);
}

@@ -518,0 +513,0 @@ if (scriptSetupRanges.emitsTypeArg) {

import type { Language } from '@volar/language-core';
import { VueFile } from './sourceFile';
import { VueCompilerOptions } from './types';
import type * as ts from 'typescript/lib/tsserverlibrary';
export declare function createLanguage(compilerOptions?: ts.CompilerOptions, _vueCompilerOptions?: Partial<VueCompilerOptions>, ts?: typeof import('typescript/lib/tsserverlibrary'), codegenStack?: boolean): Language;
export declare function createLanguage(compilerOptions?: ts.CompilerOptions, _vueCompilerOptions?: Partial<VueCompilerOptions>, ts?: typeof import('typescript/lib/tsserverlibrary'), codegenStack?: boolean): Language<VueFile>;
export declare function createLanguages(compilerOptions?: ts.CompilerOptions, vueCompilerOptions?: Partial<VueCompilerOptions>, ts?: typeof import('typescript/lib/tsserverlibrary'), codegenStack?: boolean): Language[];

@@ -13,3 +13,2 @@ "use strict";

const vueLanguagePlugin = (0, plugins_1.getDefaultVueLanguagePlugins)(ts, compilerOptions, vueCompilerOptions, codegenStack);
const sharedTypesSnapshot = ts.ScriptSnapshot.fromString(sharedTypes.getTypesCode(vueCompilerOptions));
const languageModule = {

@@ -27,27 +26,14 @@ createVirtualFile(fileName, snapshot, languageId) {

resolveHost(host) {
const sharedTypesSnapshot = ts.ScriptSnapshot.fromString(sharedTypes.getTypesCode(vueCompilerOptions));
const sharedTypesFileName = path_1.posix.join(host.getCurrentDirectory(), sharedTypes.baseName);
return {
...host,
fileExists(fileName) {
const basename = path_1.posix.basename(fileName);
if (basename === sharedTypes.baseName) {
return true;
}
return host.fileExists(fileName);
},
getScriptFileNames() {
return [
path_1.posix.join(host.getCurrentDirectory(), sharedTypes.baseName),
sharedTypesFileName,
...host.getScriptFileNames(),
];
},
getScriptVersion(fileName) {
const basename = path_1.posix.basename(fileName);
if (basename === sharedTypes.baseName) {
return '';
}
return host.getScriptVersion(fileName);
},
getScriptSnapshot(fileName) {
const basename = path_1.posix.basename(fileName);
if (basename === sharedTypes.baseName) {
if (fileName === sharedTypesFileName) {
return sharedTypesSnapshot;

@@ -54,0 +40,0 @@ }

@@ -65,8 +65,6 @@ "use strict";

type __VLS_WithComponent<N0 extends string, Components, N1 extends string, N2 extends string, N3 extends string> =
__VLS_IsAny<__VLS_IntrinsicElements[N0]> extends true ? (
N1 extends keyof Components ? N1 extends N0 ? Pick<Components, N0> : { [K in N0]: Components[N1] } :
N2 extends keyof Components ? N2 extends N0 ? Pick<Components, N0> : { [K in N0]: Components[N2] } :
N3 extends keyof Components ? N3 extends N0 ? Pick<Components, N0> : { [K in N0]: Components[N3] } :
${vueCompilerOptions.strictTemplates ? '{}' : '{ [K in N0]: any }'}
) : Pick<__VLS_IntrinsicElements, N0>;
N1 extends keyof Components ? N1 extends N0 ? Pick<Components, N0> : { [K in N0]: Components[N1] } :
N2 extends keyof Components ? N2 extends N0 ? Pick<Components, N0> : { [K in N0]: Components[N2] } :
N3 extends keyof Components ? N3 extends N0 ? Pick<Components, N0> : { [K in N0]: Components[N3] } :
${vueCompilerOptions.strictTemplates ? '{}' : '{ [K in N0]: unknown }'}

@@ -104,3 +102,3 @@ type __VLS_FillingEventArg_ParametersLength<E extends (...args: any) => any> = __VLS_IsAny<Parameters<E>> extends true ? -1 : Parameters<E>['length'];

: T extends (...args: any) => any ? T
: (_: T extends import('${vueCompilerOptions.lib}').VNode | import('${vueCompilerOptions.lib}').VNode[] | string ? {}: T & Record<string, unknown>, ctx?: any) => { __ctx?: { attrs?: unknown, expose?: unknown, slots?: unknown, emit?: unknown, props?: T & Record<string, unknown> } }; // IntrinsicElement
: (_: T extends import('${vueCompilerOptions.lib}').VNode | import('${vueCompilerOptions.lib}').VNode[] | string ? {}: T${vueCompilerOptions.strictTemplates ? '' : ' & Record<string, unknown>'}, ctx?: any) => { __ctx?: { attrs?: any, expose?: any, slots?: any, emit?: any, props?: T${vueCompilerOptions.strictTemplates ? '' : ' & Record<string, unknown>'} } }; // IntrinsicElement
declare function __VLS_functionalComponentArgsRest<T extends (...args: any) => any>(t: T): Parameters<T>['length'] extends 2 ? [any] : [];

@@ -107,0 +105,0 @@ declare function __VLS_pickEvent<Emit, K, E>(emit: Emit, emitKey: K, event: E): __VLS_FillingEventArg<

@@ -6,5 +6,4 @@ "use strict";

function createParsedCommandLineByJson(ts, parseConfigHost, rootDir, json) {
const tsConfigPath = path.join(rootDir, 'jsconfig.json');
const proxyHost = proxyParseConfigHostForExtendConfigPaths(parseConfigHost);
ts.parseJsonConfigFileContent(json, proxyHost.host, rootDir, {}, tsConfigPath);
ts.parseJsonConfigFileContent(json, proxyHost.host, rootDir, {}, rootDir + '/jsconfig.json');
let vueOptions = {};

@@ -20,3 +19,3 @@ for (const extendPath of proxyHost.extendConfigPaths.reverse()) {

}
const parsed = ts.parseJsonConfigFileContent(json, proxyHost.host, path.dirname(tsConfigPath), {}, tsConfigPath, undefined, (vueOptions.extensions ?? ['.vue']).map(extension => ({
const parsed = ts.parseJsonConfigFileContent(json, proxyHost.host, rootDir, {}, rootDir + '/jsconfig.json', undefined, (vueOptions.extensions ?? ['.vue']).map(extension => ({
extension: extension.slice(1),

@@ -23,0 +22,0 @@ isMixedContent: true,

{
"name": "@vue/language-core",
"version": "1.7.8",
"version": "1.7.9",
"main": "out/index.js",

@@ -16,4 +16,4 @@ "license": "MIT",

"dependencies": {
"@volar/language-core": "1.6.9",
"@volar/source-map": "1.6.9",
"@volar/language-core": "1.7.3",
"@volar/source-map": "1.7.3",
"@vue/compiler-dom": "^3.3.0",

@@ -38,3 +38,3 @@ "@vue/reactivity": "^3.3.0",

},
"gitHead": "9841dc5c7b19c2b1d24fcc95a808f29af39710b8"
"gitHead": "70f9ebedbc55a8d342ec425cc483dfe39c4b7489"
}

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc