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 2.0.15 to 2.0.16

4

lib/codegen/script/component.js

@@ -101,6 +101,6 @@ "use strict";

if (scriptSetupRanges.props.define?.typeArg) {
yield `__typeProps: typeof __VLS_typeProps,${common_1.newLine}`;
yield `__typeProps: __VLS_typeProps,${common_1.newLine}`;
}
if (scriptSetupRanges.emits.define?.typeArg) {
yield `__typeEmits: typeof ${scriptSetupRanges.emits.name ?? '__VLS_emit'},${common_1.newLine}`;
yield `__typeEmits: ${scriptSetupRanges.emits.name ?? '__VLS_emit'},${common_1.newLine}`;
}

@@ -107,0 +107,0 @@ }

@@ -145,6 +145,3 @@ "use strict";

if (scriptSetupRanges.slots.define) {
if (!scriptSetupRanges.slots.name) {
setupCodeModifies.push([[`const __VLS_slots = `], scriptSetupRanges.slots.define.start, scriptSetupRanges.slots.define.start]);
}
else if (scriptSetupRanges.slots.isObjectBindingPattern) {
if (scriptSetupRanges.slots.isObjectBindingPattern) {
setupCodeModifies.push([

@@ -156,2 +153,5 @@ [`__VLS_slots;\nconst __VLS_slots = `],

}
else if (!scriptSetupRanges.slots.name) {
setupCodeModifies.push([[`const __VLS_slots = `], scriptSetupRanges.slots.define.start, scriptSetupRanges.slots.define.start]);
}
}

@@ -158,0 +158,0 @@ if (scriptSetupRanges.emits.define && !scriptSetupRanges.emits.name) {

@@ -16,3 +16,4 @@ "use strict";

// fix https://github.com/vuejs/language-tools/issues/932
if (!ctx.hasSlotElements.has(node)
if (componentCtxVar
&& !ctx.hasSlotElements.has(node)
&& node.children.length

@@ -19,0 +20,0 @@ && node.tagType !== CompilerDOM.ElementTypes.ELEMENT

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

yield `)${common_1.endOfLine}`;
return;
}

@@ -39,32 +38,32 @@ else {

yield `}${common_1.endOfLine}`;
if (nameProp?.type === CompilerDOM.NodeTypes.ATTRIBUTE
&& nameProp.value) {
ctx.slots.push({
name: nameProp.value.content,
loc: nameProp.loc.start.offset + nameProp.loc.source.indexOf(nameProp.value.content, nameProp.name.length),
tagRange: [startTagOffset, startTagOffset + node.tag.length],
varName: varSlot,
nodeLoc: node.loc,
});
}
else if (nameProp?.type === CompilerDOM.NodeTypes.DIRECTIVE
&& nameProp.exp?.type === CompilerDOM.NodeTypes.SIMPLE_EXPRESSION) {
const slotExpVar = ctx.getInternalVariable();
yield `var ${slotExpVar} = `;
yield* (0, interpolation_1.generateInterpolation)(options, ctx, nameProp.exp.content, nameProp.exp, nameProp.exp.loc.start.offset, ctx.codeFeatures.all, '(', ')');
yield ` as const${common_1.endOfLine}`;
ctx.dynamicSlots.push({
expVar: slotExpVar,
varName: varSlot,
});
}
else {
ctx.slots.push({
name: 'default',
tagRange: [startTagOffset, startTagOffset + node.tag.length],
varName: varSlot,
nodeLoc: node.loc,
});
}
}
if (nameProp?.type === CompilerDOM.NodeTypes.ATTRIBUTE
&& nameProp.value) {
ctx.slots.push({
name: nameProp.value.content,
loc: nameProp.loc.start.offset + nameProp.loc.source.indexOf(nameProp.value.content, nameProp.name.length),
tagRange: [startTagOffset, startTagOffset + node.tag.length],
varName: varSlot,
nodeLoc: node.loc,
});
}
else if (nameProp?.type === CompilerDOM.NodeTypes.DIRECTIVE
&& nameProp.exp?.type === CompilerDOM.NodeTypes.SIMPLE_EXPRESSION) {
const slotExpVar = ctx.getInternalVariable();
yield `var ${slotExpVar} = `;
yield* (0, interpolation_1.generateInterpolation)(options, ctx, nameProp.exp.content, nameProp.exp, nameProp.exp.loc.start.offset, ctx.codeFeatures.all, '(', ')');
yield ` as const${common_1.endOfLine}`;
ctx.dynamicSlots.push({
expVar: slotExpVar,
varName: varSlot,
});
}
else {
ctx.slots.push({
name: 'default',
tagRange: [startTagOffset, startTagOffset + node.tag.length],
varName: varSlot,
nodeLoc: node.loc,
});
}
yield* ctx.generateAutoImportCompletion();

@@ -71,0 +70,0 @@ yield* (0, elementChildren_1.generateElementChildren)(options, ctx, node, currentComponent, componentCtxVar);

@@ -25,3 +25,3 @@ import { type VueLanguagePlugin } from './types';

}[];
resolveEmbeddedCode?(fileName: string, sfc: import("./types").Sfc, embeddedFile: import("./virtualFile/embeddedFile").VueEmbeddedCode): void;
resolveEmbeddedCode?(fileName: string, sfc: import("./types").Sfc, embeddedFile: import("./types").VueEmbeddedCode): void;
}[];

@@ -7,2 +7,3 @@ import type * as CompilerDOM from '@vue/compiler-dom';

export type { SFCParseResult } from '@vue/compiler-sfc';
export { VueEmbeddedCode };
export type RawVueCompilerOptions = Partial<Omit<VueCompilerOptions, 'target' | 'plugins'>> & {

@@ -9,0 +10,0 @@ target?: 'auto' | 2 | 2.7 | 3 | 3.3;

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

});
const pluginsResult = plugins.map(plugin => computedPluginFiles(plugins, plugin, fileName, sfc, nameToBlock));
const pluginsResult = plugins.map(plugin => computedPluginEmbeddedCodes(plugins, plugin, fileName, sfc, nameToBlock));
const flatResult = (0, computeds_1.computed)(() => pluginsResult.map(r => r()).flat());

@@ -40,4 +40,4 @@ const structuredResult = (0, computeds_1.computed)(() => {

}
for (const { file } of remain) {
console.error('Unable to resolve embedded: ' + file.parentCodeId + ' -> ' + file.id);
for (const { code } of remain) {
console.error('Unable to resolve embedded: ' + code.parentCodeId + ' -> ' + code.id);
}

@@ -47,8 +47,8 @@ return embeddedCodes;

for (let i = remain.length - 1; i >= 0; i--) {
const { file, snapshot, mappings } = remain[i];
if (!file.parentCodeId) {
const { code, snapshot, mappings } = remain[i];
if (!code.parentCodeId) {
embeddedCodes.push({
id: file.id,
languageId: resolveCommonLanguageId(file.lang),
linkedCodeMappings: file.linkedCodeMappings,
id: code.id,
languageId: resolveCommonLanguageId(code.lang),
linkedCodeMappings: code.linkedCodeMappings,
snapshot,

@@ -61,9 +61,9 @@ mappings,

else {
const parent = findParentStructure(file.parentCodeId, embeddedCodes);
const parent = findParentStructure(code.parentCodeId, embeddedCodes);
if (parent) {
parent.embeddedCodes ??= [];
parent.embeddedCodes.push({
id: file.id,
languageId: resolveCommonLanguageId(file.lang),
linkedCodeMappings: file.linkedCodeMappings,
id: code.id,
languageId: resolveCommonLanguageId(code.lang),
linkedCodeMappings: code.linkedCodeMappings,
snapshot,

@@ -93,20 +93,21 @@ mappings,

exports.computedFiles = computedFiles;
function computedPluginFiles(plugins, plugin, fileName, sfc, nameToBlock) {
const embeddedFiles = {};
const files = (0, computeds_1.computed)(() => {
function computedPluginEmbeddedCodes(plugins, plugin, fileName, sfc, nameToBlock) {
const computeds = new Map();
const getComputedKey = (code) => code.id + '__' + code.lang;
const codes = (0, computeds_1.computed)(() => {
try {
if (!plugin.getEmbeddedCodes) {
return Object.values(embeddedFiles);
return [...computeds.values()];
}
const fileInfos = plugin.getEmbeddedCodes(fileName, sfc);
for (const oldId of Object.keys(embeddedFiles)) {
if (!fileInfos.some(file => file.id === oldId)) {
delete embeddedFiles[oldId];
const embeddedCodeInfos = plugin.getEmbeddedCodes(fileName, sfc);
for (const oldId of computeds.keys()) {
if (!embeddedCodeInfos.some(code => getComputedKey(code) === oldId)) {
computeds.delete(oldId);
}
}
for (const fileInfo of fileInfos) {
if (!embeddedFiles[fileInfo.id]) {
embeddedFiles[fileInfo.id] = (0, computeds_1.computed)(() => {
for (const codeInfo of embeddedCodeInfos) {
if (!computeds.has(getComputedKey(codeInfo))) {
computeds.set(getComputedKey(codeInfo), (0, computeds_1.computed)(() => {
const content = [];
const file = new embeddedFile_1.VueEmbeddedCode(fileInfo.id, fileInfo.lang, content);
const code = new embeddedFile_1.VueEmbeddedCode(codeInfo.id, codeInfo.lang, content);
for (const plugin of plugins) {

@@ -117,3 +118,3 @@ if (!plugin.resolveEmbeddedCode) {

try {
plugin.resolveEmbeddedCode(fileName, sfc, file);
plugin.resolveEmbeddedCode(fileName, sfc, code);
}

@@ -124,3 +125,3 @@ catch (e) {

}
const newText = (0, language_core_1.toString)(file.content);
const newText = (0, language_core_1.toString)(code.content);
const changeRanges = new Map();

@@ -143,6 +144,6 @@ const snapshot = {

return {
file,
code,
snapshot,
};
});
}));
}

@@ -154,8 +155,8 @@ }

}
return Object.values(embeddedFiles);
return [...computeds.values()];
});
return (0, computeds_1.computed)(() => {
return files().map(_file => {
const { file, snapshot } = _file();
const mappings = (0, language_core_1.buildMappings)(file.content);
return codes().map(_file => {
const { code, snapshot } = _file();
const mappings = (0, language_core_1.buildMappings)(code.content);
const newMappings = [];

@@ -197,3 +198,3 @@ let lastValidMapping;

return {
file,
code,
snapshot,

@@ -200,0 +201,0 @@ mappings: newMappings,

{
"name": "@vue/language-core",
"version": "2.0.15",
"version": "2.0.16",
"license": "MIT",

@@ -15,3 +15,3 @@ "files": [

"dependencies": {
"@volar/language-core": "2.2.0-alpha.12",
"@volar/language-core": "~2.2.0",
"@vue/compiler-dom": "^3.4.0",

@@ -38,3 +38,3 @@ "@vue/shared": "^3.4.0",

},
"gitHead": "095f44449d71cd5a4730306c9c8c40df4d44dce3"
"gitHead": "95b78c38cbf75481ebb59e11956b592346f01d92"
}
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